This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/67954] New: [5 Regression] internal compiler error: in patch_jump_insn, at cfgrtl.c:1281
- From: "dbaryshkov at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 13 Oct 2015 13:27:46 +0000
- Subject: [Bug rtl-optimization/67954] New: [5 Regression] internal compiler error: in patch_jump_insn, at cfgrtl.c:1281
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67954
Bug ID: 67954
Summary: [5 Regression] internal compiler error: in
patch_jump_insn, at cfgrtl.c:1281
Product: gcc
Version: 5.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: dbaryshkov at gmail dot com
Target Milestone: ---
Created attachment 36501
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36501&action=edit
Preprocessed source file
Since https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=210824 GCC fails
with ICE when generating ARM Thumb1 code:
/tmp/test.i: In function 'ubidi_writeReordered_55':
/tmp/test.i:4748:1: internal compiler error: in patch_jump_insn, at
cfgrtl.c:1303
}
^
0x63700e patch_jump_insn
../../gcc/gcc/cfgrtl.c:1303
0x63715b redirect_branch_edge
../../gcc/gcc/cfgrtl.c:1329
0x6376e2 rtl_redirect_edge_and_branch
../../gcc/gcc/cfgrtl.c:1462
0x629889 redirect_edge_and_branch(edge_def*, basic_block_def*)
../../gcc/gcc/cfghooks.c:376
0xd0be1d try_forward_edges
../../gcc/gcc/cfgcleanup.c:621
0xd0be1d try_optimize_cfg
../../gcc/gcc/cfgcleanup.c:2835
0xd0be1d cleanup_cfg(int)
../../gcc/gcc/cfgcleanup.c:3049
0xd0d318 execute
../../gcc/gcc/cfgcleanup.c:3178
The following commands fail:
* gcc -march=armv4t -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping
* gcc -march=armv5te -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping
* gcc -march=armv6 -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping
The following work:
* gcc -march=armv6t2 -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping
* gcc -march=armv5te -marm /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping
* gcc -march=armv5te -mthumb /tmp/test.i -S -o /tmp/test.o -O1
The log was produced using clear gcc from gcc-5_1_0-release tag.
The following configure options were passed to gcc:
../gcc/configure --build=x86_64-linux --host=x86_64-linux
--target=arm-linux-gnueabi
--enable-languages=c --enable-checking=all --disable-nls