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 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.



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