http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58438
--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> --- markus@x4 gcc % cat test.ii enum gimple_code {}; struct A { gimple_code code; }; struct B { A gsbase; }; int **a; int b, d, e, f, g, h, i, j, k, l, m, n, o; gimple_code c, p; class C { virtual unsigned m_fn1(); }; B q; static int fn1() { int r; if (k) i = 0; for (; i; j++) { b = c <= 0; if (b) n = *a[0]; b = p && c; if (b) r = *a[0]; b = q.gsbase.code && c; if (b) o = *a[0]; m = o; if (e || 1 & r || d || l) return 0; } } class D : C { unsigned m_fn1() { fn1(); for (; h; g++) for (;; f++) ; } }; void fn2() { new D; } markus@x4 gcc % g++ -c -march=amdfam10 -O3 -fprofile-generate test.ii test.ii: In member function ‘virtual unsigned int D::m_fn1()’: test.ii:41:3: internal compiler error: in check_rtl, at lra.c:2036