summaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-08 19:52:06 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-08 19:52:06 +0000
commit9b56368f376195fb4ed29dac6d368cc26a9fb47c (patch)
treeb07fd69ba2ffb8acd24dffe5735fd98425a31181 /gcc/toplev.c
parentda3d8613817010dc202dd5136f95781dda6f9158 (diff)
downloadgcc-9b56368f376195fb4ed29dac6d368cc26a9fb47c.tar.gz
* function.c (diddle_return_value): Kill code to determine
return value before expand_function_end. (expand_function_end): Delay call to clobber_return_register after fucntion return value is computed. Re-install temporary reverted patch: * toplev.c (rest_of_compilation): Call split_all_insns before reg-stack and shorten-branches. Do shorten-branches after reg-stack. * final.c (shorten_branches): Remove insn splitting code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43044 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index ba0864109b6..0e197cc2581 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3685,18 +3685,16 @@ rest_of_compilation (decl)
}
#endif
-#ifndef STACK_REGS
- /* ??? Do this before shorten branches so that we aren't creating
- insns too late and fail sanity checks in final. */
- convert_to_eh_region_ranges ();
-#endif
-
- /* Shorten branches.
-
- Note this must run before reg-stack because of death note (ab)use
- in the ia32 backend. */
timevar_push (TV_SHORTEN_BRANCH);
- shorten_branches (get_insns ());
+ if (0
+#ifdef HAVE_ATTR_length
+ || 1
+#endif
+#ifdef STACK_REGS
+ || 1
+#endif
+ )
+ split_all_insns (0);
timevar_pop (TV_SHORTEN_BRANCH);
#ifdef STACK_REGS
@@ -3709,9 +3707,14 @@ rest_of_compilation (decl)
timevar_pop (TV_REG_STACK);
ggc_collect ();
+#endif
convert_to_eh_region_ranges ();
-#endif
+
+ /* Shorten branches. */
+ timevar_push (TV_SHORTEN_BRANCH);
+ shorten_branches (get_insns ());
+ timevar_pop (TV_SHORTEN_BRANCH);
current_function_nothrow = nothrow_function_p ();
if (current_function_nothrow)