[regehr@gamow tmp444]$ current-gcc -c -O3 small.c small.c: In function 'foo': small.c:22:12: internal compiler error: tree check: expected ssa_name, have integer_cst in copy_phis_for_bb, at tree-inline.c:1986 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [regehr@gamow tmp444]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r169143-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r169143-install --program-prefix=r169143- --enable-languages=c,c++ Thread model: posix gcc version 4.6.0 20110123 (experimental) (GCC) [regehr@gamow tmp444]$ cat small.c struct S2 { int f6; }; int g_65; struct S2 g_180; void func_121 (struct S2 p_122); int func_56 (int p_58, int p_59) { int i; for (i = 0; i < 1; i = 1) for (p_59 = 0; p_59 < 1; p_59 = 1); return p_59; } void foo (void) { func_106 (0); } int func_106 (const int p_107, int p_108) { if (func_56 (func_56 (0, p_107), 0)) return 0; else func_121 (g_180); return 0; } void func_121 (struct S2 p_122) { for (0; 1; 0) for (; p_122.f6;) g_65 = 0 ? : func_56 (0,0); }
It is caused by revision 160124: http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00036.html
Guess it is related to the implicit declaration of func_106 and too few parameters passed to it. Looking...
Created attachment 23095 [details] gcc46-pr47428.patch Untested fix.
Created attachment 23100 [details] gcc46-pr47427.patch Different untested fix.
(In reply to comment #4) > Created attachment 23100 [details] > gcc46-pr47427.patch > > Different untested fix. Looks good.
Author: jakub Date: Tue Jan 25 12:01:54 2011 New Revision: 169226 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169226 Log: PR tree-optimization/47427 PR tree-optimization/47428 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't coalesce if the new root var would be TREE_READONLY. * gcc.c-torture/compile/pr47427.c: New test. * gcc.c-torture/compile/pr47428.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr47427.c trunk/gcc/testsuite/gcc.c-torture/compile/pr47428.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-copyrename.c
Fixed.
Author: dnovillo Date: Wed Feb 2 17:46:04 2011 New Revision: 169577 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169577 Log: PR tree-optimization/47427 PR tree-optimization/47428 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't coalesce if the new root var would be TREE_READONLY. * gcc.c-torture/compile/pr47427.c: New test. * gcc.c-torture/compile/pr47428.c: New test. Added: branches/google/integration/gcc/testsuite/gcc.c-torture/compile/pr47427.c branches/google/integration/gcc/testsuite/gcc.c-torture/compile/pr47428.c Modified: branches/google/integration/gcc/ChangeLog branches/google/integration/gcc/testsuite/ChangeLog branches/google/integration/gcc/tree-ssa-copyrename.c