aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2004-07-27 19:09:32 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2004-07-27 19:09:32 +0000
commit3fbd86b1a8f955095a30129300bf55d12195b392 (patch)
tree3d2deb55bb0ac08950644e984c159ecbcc49e955 /gcc/calls.c
parentd078f7c01015454aeb28818c67a69198659ecf85 (diff)
downloadgcc-3fbd86b1a8f955095a30129300bf55d12195b392.zip
gcc-3fbd86b1a8f955095a30129300bf55d12195b392.tar.gz
gcc-3fbd86b1a8f955095a30129300bf55d12195b392.tar.bz2
cfgexpand.c (tree_expand_cfg): Fix comment.
* cfgexpand.c (tree_expand_cfg): Fix comment. * calls.c (expand_call): Ignore rtx_equal_function_value_matters. * function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets): Remove. (prepare_function_start): Don't set rtx_equal_function_value_matters. * integrate.c (copy_rtx_and_substitute): Don't test for it. * passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets. Don't set rtx_equal_function_value_matters. Don't register RTL hooks here again. Update leading comment. * rtl.c (rtx_equal_function_value_matters): Remove. (rtx_equal_p): Don't test for it. * simplify-rtx.c (simplify_binary_operation, simplify_subreg): Likewise. * rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND. * rtl.c (note_insn_name): Likewise. * emit-rtl.c (remove_unnecessary_notes): Don't handle it. * final.c (final_scan_insn): Likewise. * except.c (finish_eh_generation): Don't call cfg_cleanup from here. * passes.c (rest_of_handle_eh): Do it here. * stmt.c (struct nesting): Remove struct nesting block member. (struct stmt_status): Remove x_block_start_count field. (current_block_start_count): Remove. From-SVN: r85228
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index bf90ceb..38f5e4c 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2226,17 +2226,10 @@ expand_call (tree exp, rtx target, int ignore)
/* Tail calls can make things harder to debug, and we've traditionally
pushed these optimizations into -O2. Don't try if we're already
expanding a call, as that means we're an argument. Don't try if
- there's cleanups, as we know there's code to follow the call.
-
- If rtx_equal_function_value_matters is false, that means we've
- finished with regular parsing. Which means that some of the
- machinery we use to generate tail-calls is no longer in place.
- This is most often true of sjlj-exceptions, which we couldn't
- tail-call to anyway. */
+ there's cleanups, as we know there's code to follow the call. */
if (currently_expanding_call++ != 0
|| !flag_optimize_sibling_calls
- || !rtx_equal_function_value_matters
|| args_size.var
|| lookup_stmt_eh_region (exp) >= 0)
try_tail_call = 0;