summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 19:09:32 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 19:09:32 +0000
commit011e6b51aaaaa628b204812a1714ada9e8092c87 (patch)
tree3d2deb55bb0ac08950644e984c159ecbcc49e955 /gcc/calls.c
parent9d167a28e3dd31e6748679cdb766610d53fbe6dc (diff)
downloadgcc-011e6b51aaaaa628b204812a1714ada9e8092c87.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85228 138bc75d-0d04-0410-961f-82ee72b054a4
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 bf90ceb1f68..38f5e4c5e92 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;