https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69175
Bug ID: 69175
Summary: [6 Regression] ICE in haifa_luid_for_non_insn, at
haifa-sched.c:7895
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: doko at gcc dot gnu.org
Target Milestone: ---
trunk r232077, arm-linux-gnueabihf, works with -O1
reduced test case:
struct A {
A *moreRU, *lessRU;
} a;
class B {
A *mostRU;
A *leastRU;
void m_fn1();
};
void *b;
void B::m_fn1() {
if (b) {
A *n = (A *)b;
if (b == mostRU)
if (n == leastRU)
mostRU = __null;
else
mostRU->moreRU = __null;
else
n->lessRU->moreRU = &a;
n->lessRU = mostRU;
if (mostRU == __null)
mostRU = leastRU = n;
else
mostRU = n;
}
}
$ g++ -c -g -O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb data.ii
data.ii: In member function 'void B::m_fn1()':
data.ii:26:1: internal compiler error: in haifa_luid_for_non_insn, at
haifa-sched.c:7895
}
^
0x8600e5 haifa_luid_for_non_insn
../../src/gcc/haifa-sched.c:7895
0x864ccb sched_init_insn_luid(rtx_insn*)
../../src/gcc/haifa-sched.c:9037
0x8650d3 sched_init_luids(vec<basic_block_def*, va_heap, vl_ptr>)
../../src/gcc/haifa-sched.c:9066
0x8652a1 haifa_sched_init()
../../src/gcc/haifa-sched.c:7427
0x4a880f schedule_insns()
../../src/gcc/sched-rgn.c:3504
0x4a8d6f schedule_insns()
../../src/gcc/sched-rgn.c:3498
0x4a8d6f rest_of_handle_sched2
../../src/gcc/sched-rgn.c:3737
0x4a8d6f execute
../../src/gcc/sched-rgn.c:3873
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.