[ tree-ssa] PRE problem

Daniel Berlin dberlin@dberlin.org
Fri Feb 20 18:17:00 GMT 2004


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.
Things appearing on either side of an assignment are supposed to have 
the same memory tag.
"< dnovillo> DannyB: if we cprop a pointer into another and the two 
pointers have different type tags, we will abort in propagate_copy.
  < DannyB> ie p_19 = <fred, bob>
13:09 < DannyB> Shouldn't p_19, fred, and bob all have the same memory 
tag?
13:09 < dnovillo> you mean p, right? yes"

The result of a phi, and it's arguments (since they are conditional 
assignments), should have the same memory tag.
That means p_19 and method_signature.3_4 in your example should have 
the same memory tag.
Do they not?

In fact, no backwards subst PRE is performing should be between things 
with different memory tags, since it only changes phi results into the 
associated phi argument for that edge.
This shouldn't ever change the memory tag.



More information about the Gcc mailing list