Compiling the attached test case, trunk gcc ICEs (or run out of memory without the checking). The symptom is similar to the one before PR/41101
The root cause of the problem is the result of an expr's phi_translate depends on the context it is done -- it may return NULL if it is translated as a sub-expression due to a bug in the cycle detection. In this case, after inlining, there is a loop with swapping code. In computing the ANTIC_IN for the latch block, the resulting set is ping-ponging -- with two expressions translated to each other back and forth. The reason that only one of the expression is in the initial set is due to the translation bug mentioned above. David -- Summary: GCC ICE in compute_antic, at tree-ssa-pre.c:2534 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: xinliangli at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42337