diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-08 19:52:06 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-08 19:52:06 +0000 |
commit | 9b56368f376195fb4ed29dac6d368cc26a9fb47c (patch) | |
tree | b07fd69ba2ffb8acd24dffe5735fd98425a31181 /gcc/toplev.c | |
parent | da3d8613817010dc202dd5136f95781dda6f9158 (diff) | |
download | gcc-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.c | 27 |
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) |