This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] CCP and variable reference fixes [patch]


On Thursday, November 7, 2002, at 11:31  AM, Jason Merrill wrote:

On Thu, 7 Nov 2002 07:36:17 -0500, Diego Novillo <dnovillo@redhat.com> wrote:

- Removes unnecessary fields from tree_ref structure.  We don't
  need to keep pointers into the expression nor operand for each
  reference.  This makes it possible for a pass to replicate a
  statement and replace references from the original statement
  into the copy.
When rth and I were talking about this later, it occurred to me that if we
can have an expression with uses of two different defs of the same variable
in a single stmt,
This isn't possible.

It would imply you could have

a = b + b

where each use of b has a different def.


You'd need to have an undefined self-modifying statement (b = a + ++a or something) , and since we are in GIMPLE form, it would have been broken up (even though it's not valid anyway).

It's only "technically" possible for the may aliasing uses, where you might end up with uses of two different defs of the same pointer.
But even then, you only have a *problem* if the variable names in the statement are the same, and they have the same use, which is also impossible, since they can only have a different use if they have a different name.

then we do need a use to refer directly to its instance
of the variable within the statement.

Jason






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]