This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] CCP and variable reference fixes [patch]
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Jason Merrill <jason at redhat dot com>
- Cc: Diego Novillo <dnovillo at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 7 Nov 2002 11:59:16 -0500
- Subject: 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