diff options
Diffstat (limited to 'gcc/sel-sched.c')
-rw-r--r-- | gcc/sel-sched.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index e524d02516f..b1a33beb7d0 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -6483,9 +6483,10 @@ setup_current_loop_nest (int rgn) static void purge_empty_blocks (void) { - int i ; + /* Do not attempt to delete preheader. */ + int i = sel_is_loop_preheader_p (BASIC_BLOCK (BB_TO_BLOCK (0))) ? 1 : 0; - for (i = 1; i < current_nr_blocks; ) + while (i < current_nr_blocks) { basic_block b = BASIC_BLOCK (BB_TO_BLOCK (i)); |