On 7 February 2013 11:38, Richard Biener <rguent...@suse.de> wrote: > > This rewrites fix_loop_structure to be equivalent to loop > detection from scratch via flow_loops_find with re-using > of existing loop tree entries. > > This addresses a few shortcomings of fix_loop_structure. First, > as shown by the testcase in PR56181, fix_loop_structure does
Hi, This patch appears to trigger the following regression on arm-none-linux-gnueabi: FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer (internal compiler error) FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer -funroll-loops (internal compiler error) FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (internal compiler error) FAIL: gcc.dg/torture/pr54458.c -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gcc.dg/torture/pr54458.c -O3 -g (internal compiler error) FAIL: gcc.dg/torture/pr54458.c -O3 -g (test for excess errors) Where each of the failures looks like this: output is: /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/testsuite/gcc.dg/torture/pr54458.c: In function 'foo': /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/testsuite/gcc.dg/torture/pr54458.c:20:1: error: loop with header 9 not in loop tree /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/testsuite/gcc.dg/torture/pr54458.c:20:1: error: loop with header 33 not in loop tree /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/testsuite/gcc.dg/torture/pr54458.c:20:1: error: loop with header 34 not in loop tree /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/testsuite/gcc.dg/torture/pr54458.c:20:1: internal compiler error: in verify_loop_structure, at cfgloop.c:1614 0x5d83f3 verify_loop_structure() /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/cfgloop.c:1614 0x7cbfa4 unswitch_single_loop /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/loop-unswitch.c:368 0x7cc508 unswitch_loops() /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/loop-unswitch.c:147 0x7bdf17 rtl_unswitch /projects/pd/pdsw-infrastructure/production-builds/bld-root/channels/fsf-trunk/builds/34/src/gcc/gcc/loop-init.c:441 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. FAIL: gcc.dg/torture/pr54458.c -O3 -g (internal compiler error) The same regression also appears on aarch64-none-linux-gnu Cheers /Marcus