summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c6
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);