There is a regression in gnat.dg visible on various 32-bit platforms: http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00744.html http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00743.html http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00709.html
The problem is that the new code seems to overlook TYPE_NONALIASED_COMPONENT when building the MEM_REF and thus gives the wrong alias set to the RTL mem, causing aliasing memory references to be swapped by the scheduler. -- Summary: [4.6 regression] miscompilation of gnat.dg/aliasing3.adb after mem-ref2 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ebotcazou at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44885