[Bug optimization/11198] [3.3 regression] -O2 -frename-registers generates wrong code

ebotcazou at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jul 4 13:12:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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



------- Additional Comments From ebotcazou at gcc dot gnu dot org  2003-07-04 13:12 -------
If bug 11320 is indeed a reload bug, no.

The problem pertains to aliasing here: the slot assigned to the temporary

   matrix<>::iterator1(bam1.m)

is reused for

   adaptor<>::a_iterator1 it2

because the types conflict according to objects_must_conflict_p. The reasoning
is probably that, since the types conflicts, operations on objects of these
types cannot be reordered by the scheduling passes later.

The problem is that at least one member of the first type (dead1) doesn't
conflict with at least one member of the second type (a), so the scheduling pass
swaps insn 27 and insn 83.



More information about the Gcc-bugs mailing list