On 7 February 2013 11:38, Richard Biener <[email protected]> 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