This is the mail archive of the gcc@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] PRE problem


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.


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