[tree-ssa] patch suggestion: def_op vs vdef_ops

Diego Novillo dnovillo@redhat.com
Thu Jan 30 00:16:00 GMT 2003


On Wed, 29 Jan 2003, Diego Novillo wrote:

> OTOH, vdef_ops mean that the variables are being modified in ways
> that the compiler doesn't know, or care.  Mixing vdef_ops and
> def_op is not really possible without breaking the semantics of
> each one.
> 
One more thing about vdef_ops that I forgot to add.  They can be
used to follow def-def links.  You'll see that a VDEF_EXPR is
both a definition and a use of a variable.  You can from one
VDEF_EXPR go to the previous one, so that in a case like the
following:


	    1	... = &a;
	    2	*p = 20;
	    3	...
	    4	*q = 5;
	    5	...
	    6	   = a;

If *p and *q may alias a, you could determine that both *p and *q
can reach the use of a at line 6.


Diego.



More information about the Gcc-patches mailing list