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.