http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55158
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-11-07 Ever Confirmed|0 |1 --- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2012-11-07 21:07:44 UTC --- Confirmed. The scheduler creates new basic blocks via generate_recovery_code, leading to: Breakpoint 5, schedule_region (rgn=0) at gcc/sched-rgn.c:2990 2990 schedule_block (&curr_bb, bb_state[first_bb->index]); 1: last_basic_block = 23 (gdb) Continuing. Breakpoint 6, create_basic_block (...) at gcc/cfghooks.c:644 644 if (!cfg_hooks->create_basic_block) 1: last_basic_block = 23 (gdb) up #1 0x... in create_empty_bb (..) at ../../trunk/gcc/cfghooks.c:662 662 return create_basic_block (NULL, NULL, after); (gdb) #2 0x... in sched_create_empty_bb_1 (...) at gcc/haifa-sched.c:8479 8479 return create_empty_bb (after); (gdb) #3 0x... in init_before_recovery (...) at gcc/haifa-sched.c:7491 7491 single = sched_create_empty_bb (last); (gdb) But apparently some of the scheduler data structures are not resized.