[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