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/emit-rtl.c | |
parent | 0870fd6eb283b94035b0911aedec29c050a3b5de (diff) | |
download | linaro-gcc-735f4358c84bd478ae8c4b635a4d938447867efe.tar.gz linaro-gcc-735f4358c84bd478ae8c4b635a4d938447867efe.tar.bz2 linaro-gcc-735f4358c84bd478ae8c4b635a4d938447867efe.zip |
* 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/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index b88144b9dc8..53edf2c25d8 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -4822,13 +4822,12 @@ emit (rtx x) /* Space for free sequence stack entries. */ static GTY ((deletable)) struct sequence_stack *free_sequence_stack; -/* Begin emitting insns to a sequence which can be packaged in an - RTL_EXPR. If this sequence will contain something that might cause - the compiler to pop arguments to function calls (because those - pops have previously been deferred; see INHIBIT_DEFER_POP for more - details), use do_pending_stack_adjust before calling this function. - That will ensure that the deferred pops are not accidentally - emitted in the middle of this sequence. */ +/* Begin emitting insns to a sequence. If this sequence will contain + something that might cause the compiler to pop arguments to function + calls (because those pops have previously been deferred; see + INHIBIT_DEFER_POP for more details), use do_pending_stack_adjust + before calling this function. That will ensure that the deferred + pops are not accidentally emitted in the middle of this sequence. */ void start_sequence (void) @@ -4846,7 +4845,6 @@ start_sequence (void) tem->next = seq_stack; tem->first = first_insn; tem->last = last_insn; - tem->sequence_rtl_expr = seq_rtl_expr; seq_stack = tem; @@ -4854,18 +4852,6 @@ start_sequence (void) last_insn = 0; } -/* Similarly, but indicate that this sequence will be placed in T, an - RTL_EXPR. See the documentation for start_sequence for more - information about how to use this function. */ - -void -start_sequence_for_rtl_expr (tree t) -{ - start_sequence (); - - seq_rtl_expr = t; -} - /* Set up the insn chain starting with FIRST as the current sequence, saving the previously current one. See the documentation for start_sequence for more information about how to use this function. */ @@ -4911,7 +4897,6 @@ push_topmost_sequence (void) first_insn = top->first; last_insn = top->last; - seq_rtl_expr = top->sequence_rtl_expr; } /* After emitting to the outer-level insn chain, update the outer-level @@ -4927,7 +4912,6 @@ pop_topmost_sequence (void) top->first = first_insn; top->last = last_insn; - /* ??? Why don't we save seq_rtl_expr here? */ end_sequence (); } @@ -4952,7 +4936,6 @@ end_sequence (void) first_insn = tem->first; last_insn = tem->last; - seq_rtl_expr = tem->sequence_rtl_expr; seq_stack = tem->next; memset (tem, 0, sizeof (*tem)); @@ -5168,7 +5151,6 @@ init_emit (void) f->emit = ggc_alloc (sizeof (struct emit_status)); first_insn = NULL; last_insn = NULL; - seq_rtl_expr = NULL; cur_insn_uid = 1; reg_rtx_no = LAST_VIRTUAL_REGISTER + 1; last_location = UNKNOWN_LOCATION; |