http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55775
Bug #: 55775 Summary: [4.8 Regression] ICE when building pari Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: ra Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: vmaka...@gcc.gnu.org int *ptr; int *fn1 (int *); int fn2 (int, int); int fn3 (void); int fn4 (int); static int foo (int x, int y, int z) { int b; asm ("" : "=a" (b), "=&d" (x) : "0" (y), "1" (x), "mr" (z)); return x; } static int bar (int x, int y) { int a; if (!y) { for (a = 0; a <= (x >> 1); ) ; a = foo (y, fn2 (2, x), x); if (x) a = x; return a; } } static int baz (int x, int y) { int *a = ptr; int t, xk1 = fn3 (), xk = x * xk1; for (t = 0; t < xk; t += xk1) { if (fn4 (a[2])) return -y; a = fn1 (a); } return 0; } void test (int x, long y, int z) { int a = fn3 (); int b; int c = bar (x, z); for (b = 0; b <= y; b++) c = baz (x, c); fn2 (c, a); } ICEs on x86_64-linux with -O1 -w: lra_ice.i: In function ‘test’: lra_ice.i:53:1: internal compiler error: Maximum number of LRA constraint passes is achieved (30) } ^ 0x90089c lra_constraints(bool) ../../gcc/lra-constraints.c:3334 0x8f12e6 lra(_IO_FILE*) ../../gcc/lra.c:2280 0x8a6d43 do_reload ../../gcc/ira.c:4624 0x8a6f51 rest_of_handle_reload ../../gcc/ira.c:4737 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.