summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1995-11-27 16:19:26 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1995-11-27 16:19:26 +0000
commitddf620fa2814e5db4494a5a35d93a1f68b3cb2f5 (patch)
treeb1cfe20508809b117a7951af582c22092e5fbf6e /gcc/toplev.c
parentf93337266cc81891aa4503cb97f5cac3581f7fba (diff)
downloadgcc-ddf620fa2814e5db4494a5a35d93a1f68b3cb2f5.tar.gz
* toplev.c (rest_of_compilation): Always call jump_optimize
at least once. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10613 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 1b6fccb5d60..6d71dae9399 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))