diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-02 01:15:43 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-02 01:15:43 +0000 |
commit | 735f4358c84bd478ae8c4b635a4d938447867efe (patch) | |
tree | d7b1ab265a5bd2738e55776227182ff82a96a751 /gcc/tree.def | |
parent | 0870fd6eb283b94035b0911aedec29c050a3b5de (diff) | |
download | gcc-735f4358c84bd478ae8c4b635a4d938447867efe.tar.gz |
* tree.def (RTL_EXPR): Remove.
* c-typeck.c (lvalue_p): Don't handle it.
* expr.c (safe_from_p): Likewise.
(expand_expr_real_1): Likewise.
* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
* gengtype.c (adjust_field_tree_exp): Likewise.
* stmt.c (warn_if_unused_value): Likewise.
* tree-gimple.c (recalculate_side_effects): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.
* stmt.c (struct stmt_status): Remove x_last_expr_type,
x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
(expand_expr_stmt): Merge with expand_expr_stmt_value. Remove
all the bits that tracked last_expr.
(expand_end_bindings): Don't track last_expr.
(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
(clear_last_expr): Remove.
(expand_asm): Don't call it.
(expand_asm_operands, expand_end_cond): Likewise.
(expand_naked_return, expand_null_return_1): Likewise.
* c-typeck.c (c_begin_compound_stmt): Likewise.
* cfgexpand.c (expand_block): Use expand_expr_stmt.
* expr.c (expand_expr_real_1): Likewise.
* tree.h: Update prototypes.
* function.h (struct sequence_stack): Remove sequence_rtl_expr.
(struct emit_status): Remove sequence_rtl_expr.
(struct function): Remove x_rtl_expr_chain.
(seq_rtl_expr, rtl_expr_chain): Remove.
* function.c (struct temp_slot): Remove rtl_expr.
(assign_stack_temp_for_type): Don't set it.
(free_temp_slots, pop_temp_slots): Don't check it.
(free_after_compilation): Don't clear x_rtl_expr_chain.
(fixup_var_refs): Don't search it.
(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
or seq_rtl_expr.
(push_topmost_sequence): Likewise.
(end_sequence, init_emit): Likewise.
(start_sequence_for_rtl_expr): Remove.
* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
* rtl.h (preserve_rtl_expr_result): Remove.
ada/
* trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
* utils.c (max_size): Likewise.
cp/
* class.c (fixed_type_or_null): Don't handle RTL_EXPR.
* method.c (synthesize_method): Don't clear_last_expr.
* name-lookup.c (maybe_push_cleanup_level): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84009 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index 15172077bdc..bf80871793a 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -499,9 +499,7 @@ DEFTREECODE (CALL_EXPR, "call_expr", 'e', 3) /* Specify a value to compute along with its corresponding cleanup. Operand 0 argument is an expression whose value needs a cleanup. Operand 1 is the cleanup expression for the object. - Operand 2 is an RTL_EXPR which will eventually represent that value. - The RTL_EXPR is used in this expression, which is how the expression - manages to act on the proper value. + Operand 2 is unused. The cleanup is executed by the first enclosing CLEANUP_POINT_EXPR, if it exists, otherwise it is the responsibility of the caller to manually call expand_start_target_temps/expand_end_target_temps, as needed. @@ -731,27 +729,13 @@ DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", '1', 1) DEFTREECODE (SAVE_EXPR, "save_expr", 'e', 3) /* For a UNSAVE_EXPR, operand 0 is the value to unsave. By unsave, we - mean that all _EXPRs such as TARGET_EXPRs, SAVE_EXPRs, - CALL_EXPRs and RTL_EXPRs, that are protected - from being evaluated more than once should be reset so that a new - expand_expr call of this expr will cause those to be re-evaluated. - This is useful when we want to reuse a tree in different places, - but where we must re-expand. */ + mean that all _EXPRs such as TARGET_EXPRs, SAVE_EXPRs, CALL_EXPRs, + that are protected from being evaluated more than once should be + reset so that a new expand_expr call of this expr will cause those + to be re-evaluated. This is useful when we want to reuse a tree in + different places, but where we must re-expand. */ DEFTREECODE (UNSAVE_EXPR, "unsave_expr", 'e', 1) -/* Represents something whose RTL has already been expanded as a - sequence which should be emitted when this expression is expanded. - The first operand is the RTL to emit. It is the first of a chain - of insns. The second is the RTL expression for the result. The - third operand is the "alternate RTL expression" for the result, if - any; if the second argument is the DECL_RTL for a VAR_DECL, but - with an invalid memory address replaced by a valid one, then the - third operand will be the original DECL_RTL. Any temporaries - created during the building of the RTL_EXPR can be reused once the - RTL_EXPR has been expanded, with the exception of the - RTL_EXPR_RTL. */ -DEFTREECODE (RTL_EXPR, "rtl_expr", 'e', 3) - /* & in C. Value is the address at which the operand's value resides. Operand may have any mode. Result mode is Pmode. */ DEFTREECODE (ADDR_EXPR, "addr_expr", 'e', 1) |