GCC trunk gets a ICE when building SPEC CPU2000 test 252.eon with "-O2 -fPIC -fno-inline", but not with -fno-ipa-sra, on powerpc-linux with secureplt enabled, as demonstrated by this minimized testcase:
class mrSurfaceList { public: int *operator[] (int i) const { } }; int * makeGrid (mrSurfaceList * l) { return (*l)[0]; } elm3b149% /home/janis/tools/gcc-trunk-anonsvn/bin/g++ -c -O2 -fPIC -fno-inline bug.cc bug.cc: In function int* makeGrid(mrSurfaceList*): bug.cc:10:1: internal compiler error: in output_507, at config/rs6000/rs6000.md:12527 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. The ICE begins with this patch, which adds IPA SRA: http://gcc.gnu.org/viewcvs?view=rev&rev=151800 r151800 | jamborm | 2009-09-17 11:35:38 +0000 (Thu, 17 Sep 2009) -- Summary: ICE in rs6000.md with ipa-sra for 252.eon Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42344