On Tue, 12 Feb 2013, Marcus Shawcroft wrote: > 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)
I can't reproduce this with a cross-compiler (--target=arm-non-eabi). How exactly did you configure? Please provide -v output. Richard. > > 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 > > -- Richard Biener <rguent...@suse.de> SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend