diff options
author | Steven Bosscher <stevenb@suse.de> | 2004-06-03 12:07:47 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-06-03 12:07:47 +0000 |
commit | 6ce2bcb71c2f66918a8287090589a9d9ea45ed74 (patch) | |
tree | a5c35a768c30f3209297293fe64b76eab30e93f8 /gcc/rtl.def | |
parent | 53ef271f84dcf405c5e58ea7b1ef2211f073d3c1 (diff) | |
download | gcc-6ce2bcb71c2f66918a8287090589a9d9ea45ed74.zip gcc-6ce2bcb71c2f66918a8287090589a9d9ea45ed74.tar.gz gcc-6ce2bcb71c2f66918a8287090589a9d9ea45ed74.tar.bz2 |
basic-block.c (tail_recursion_label_list): Don't declare.
* basic-block.c (tail_recursion_label_list): Don't declare.
(CLEANUP_PRE_SIBCALL): Remove. Renumber the other CLEANUP_*
accordingly.
* cfgbuild.c (find_label_refs): Remove.
(find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
* cfgcleanup.c (tail_recursion_label_p): Remove.
(merge_blocks_move): Do not check for tail recursion.
(try_optimize_cfg): Likewise.
(cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
* cfgrtl.c (tail_recursion_label_list): Remove.
* except.c (remove_unreachable_regions): Don't handle
CALL_PLACEHOLDER insns.
(convert_from_eh_region_ranges_1, can_throw_internal,
can_throw_external): Likewise.
* function.c (free_after_compilation): Don't clear
x_tail_recursion_label.
(fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
(identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
(reorder_blocks_1): Likewise.
* function.h (struct function): Remove x_tail_recursion_label
member. Don't define tail_recursion_label.
* jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
* print-rtl.c (print_rtx): Likewise.
* rtl.def (CALL_PLACEHOLDER): Remove.
* rtl.h (sibcall_use_t): Remove enum.
(optimize_sibling_and_tail_recursive_calls,
replace_call_placeholder): Remove function prototypes.
* stmt.c (tail_recursion_args): Remove.
(optimize_tail_recursion): Remove.
(expand_return): Don't check for possible tail recursion.
* tree.h (optimize_tail_recursion): Remove prototype.
From-SVN: r82597
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 3eecf1f..350e84f 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -1153,27 +1153,6 @@ DEF_RTL_EXPR(RANGE_VAR, "range_var", "eti", RTX_EXTRA) 0 is the live bitmap. Operand 1 is the original block number. */ DEF_RTL_EXPR(RANGE_LIVE, "range_live", "bi", RTX_EXTRA) -/* A placeholder for a CALL_INSN which may be turned into a normal call, - a sibling (tail) call or tail recursion. - - Immediately after RTL generation, this placeholder will be replaced - by the insns to perform the call, sibcall or tail recursion. - - This RTX has 4 operands. The first three are lists of instructions to - perform the call as a normal call, sibling call and tail recursion - respectively. The latter two lists may be NULL, the first may never - be NULL. - - The last operand is the tail recursion CODE_LABEL, which may be NULL if no - potential tail recursive calls were found. - - The tail recursion label is needed so that we can clear LABEL_PRESERVE_P - after we select a call method. - - This method of tail-call elimination is intended to be replaced by - tree-based optimizations once front-end conversions are complete. */ -DEF_RTL_EXPR(CALL_PLACEHOLDER, "call_placeholder", "uuuu", RTX_EXTRA) - /* Describes a merge operation between two vector values. Operands 0 and 1 are the vectors to be merged, operand 2 is a bitmask that specifies where the parts of the result are taken from. Set bits |