aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1995-11-27 09:19:26 -0700
committerJeff Law <law@gcc.gnu.org>1995-11-27 09:19:26 -0700
commitcc4e79d826ec73ccde23d710b827b9d76f031708 (patch)
treeb1cfe20508809b117a7951af582c22092e5fbf6e
parentad238e4b39a2f8a9e02a860d86eae574557c7e02 (diff)
downloadgcc-cc4e79d826ec73ccde23d710b827b9d76f031708.zip
gcc-cc4e79d826ec73ccde23d710b827b9d76f031708.tar.gz
gcc-cc4e79d826ec73ccde23d710b827b9d76f031708.tar.bz2
toplev.c (rest_of_compilation): Always call jump_optimize at least once.
* toplev.c (rest_of_compilation): Always call jump_optimize at least once. From-SVN: r10613
-rw-r--r--gcc/toplev.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 1b6fccb..6d71dae 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2815,17 +2815,11 @@ rest_of_compilation (decl)
for all references to such slots. */
/* fixup_stack_slots (); */
- /* Do jump optimization the first time, if -opt.
- Also do it if -W, but in that case it doesn't change the rtl code,
- it only computes whether control can drop off the end of the function. */
-
- if (optimize > 0 || extra_warnings || warn_return_type
- /* If function is `noreturn', we should warn if it tries to return. */
- || TREE_THIS_VOLATILE (decl))
- {
- TIMEVAR (jump_time, reg_scan (insns, max_reg_num (), 0));
- TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 1));
- }
+ /* Always do one jump optimization pass to ensure that JUMP_LABEL fields
+ are initialized and to compute whether control can drop off the end
+ of the function. */
+ TIMEVAR (jump_time, reg_scan (insns, max_reg_num (), 0));
+ TIMEVAR (jump_time, jump_optimize (insns, 0, 0, 1));
/* Now is when we stop if -fsyntax-only and -Wreturn-type. */
if (rtl_dump_and_exit || flag_syntax_only || DECL_DEFER_OUTPUT (decl))