diff options
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 07de29ba4b1..f3b50d14025 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3473,11 +3473,13 @@ rest_of_compilation (decl) verify_flow_info (); #endif + compute_bb_for_insn (get_max_uid ()); + /* If optimizing, then go ahead and split insns now. */ if (optimize > 0) split_all_insns (0); - cleanup_cfg (0); + cleanup_cfg (optimize ? CLEANUP_EXPENSIVE : 0); /* On some machines, the prologue and epilogue code, or parts thereof, can be represented as RTL. Doing so lets us schedule insns between @@ -3485,8 +3487,6 @@ rest_of_compilation (decl) scheduling to operate in the epilogue. */ thread_prologue_and_epilogue_insns (insns); - compute_bb_for_insn (get_max_uid ()); - if (optimize) { cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_CROSSJUMP); |