[Bug tree-optimization/19626] Aliasing says stores to local memory do alias

rguenth at tat dot physik dot uni-tuebingen dot de gcc-bugzilla@gcc.gnu.org
Wed Jan 26 08:47:00 GMT 2005


------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2005-01-26 08:47 -------
Subject: Re:  Aliasing says stores to local
 memory do alias

>   D.2540 = (struct Loc<1> *) &dX.D.2210.D.2166.domain_m.buffer;
> That confuses the aliasing mechanism
> buffer is of type int* but you are casting it to Loc<1> *.

Telling it the truth by having an array of Loc<1> instead doesn't help.
I suppose you're talking about not decomposing Loc<2> into two
Loc<1> as intermediate step?  Well, yes, that's a design decision I
cannot change.  It looks superfluous for Loc<>, but makes sense for
the more complex domain objects like Interval and Range (but that's
a different story).

But in principle a compiler could determine that the two objects
cannot alias, even which this interwinded type structure?



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19626



More information about the Gcc-bugs mailing list