diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-11-27 16:19:26 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-11-27 16:19:26 +0000 |
commit | ddf620fa2814e5db4494a5a35d93a1f68b3cb2f5 (patch) | |
tree | b1cfe20508809b117a7951af582c22092e5fbf6e /gcc/toplev.c | |
parent | f93337266cc81891aa4503cb97f5cac3581f7fba (diff) | |
download | gcc-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.c | 16 |
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)) |