[ tree-ssa] PRE problem

Diego Novillo dnovillo@redhat.com
Fri Feb 20 19:47:00 GMT 2004


On Fri, 2004-02-20 at 14:05, law@redhat.com wrote:
> In message <760713BF-63D0-11D8-ABAD-000A95DA505C@dberlin.org>, Daniel Berlin wr
> ites:
>  >
>  >On Feb 20, 2004, at 12:44 PM, law@redhat.com wrote:
>  >
>  >> (for example, copy propagation when the two objects have different
>  >> memory tags).
>  >
>  >I should also note that if this is true, something else is broken.
> No.  The RHS & LHS of a copy or PHI node are allowed to have different
> memory tags.  It's only when you cprop that you have to check the tags.
> 
False.  If you do all your propagation using may_propagate_copy and
propagate_value, you will never get a PHI node with different tags in
its LHS and RHS.  It's simply impossible.

(1) If an assignment was there in the original code, the aliasing pass
will create the same memory tag for the pointers in LHS and RHS.

(2) The copy propagation done in DOM always uses may_propagate_copy and
propagate_value to do pointer propagation.  Meaning that PHI nodes will
always have pointers with the same type tag.


The reason PRE is falling on its face is precisely because it's not
using the value propagation code.


Diego.



More information about the Gcc mailing list