Command line:
gcc -O1 -fschedule-insns2 -fsched2-use-superblocks -c testcase.c
-------- testcase.c --------
int x[1];
void foo()
{
__builtin_prefetch(x);
}
----------------------------
Tested revisions:
trunk r156745 - crash
trunk r153685 - crash
4.4 r156256 - crash
4.4 r155365 - OK (no checking)
4.4 r149995 - crash
Output:
$ /mnt/svn/gcc-trunk/binary-156745-lto/bin/gcc -O1 -fschedule-insns2
-fsched2-use-superblocks -c testcase.c
testcase.c: In function ‘foo’:
testcase.c:5:1: error: missing barrier after block 2
testcase.c:5:1: error: return not followed by barrier
(jump_insn:TI 11 14 8 2 testcase.c:5 (return) 648 {return_internal} (nil))
testcase.c:5:1: internal compiler error: in rtl_verify_flow_info, at
cfgrtl.c:2205
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: __builtin_prefetch causes ICE: in rtl_verify_flow_info,
at cfgrtl.c:2205 with -fsched2-use-superblocks
Product: gcc
Version: 4.4.4
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zsojka at seznam dot cz
GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43056