aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-05-06 10:13:55 -0700
committerJim Wilson <wilson@gcc.gnu.org>1996-05-06 10:13:55 -0700
commit405f0da64e8d6ca359de9ea35e56c6f0149a15e2 (patch)
treeea036658b681728e511cf61e4f6c1813bc8f833a
parent0140d3ee3a5ec625b83a0eaf87d6aa6ae0554b38 (diff)
downloadgcc-405f0da64e8d6ca359de9ea35e56c6f0149a15e2.zip
gcc-405f0da64e8d6ca359de9ea35e56c6f0149a15e2.tar.gz
gcc-405f0da64e8d6ca359de9ea35e56c6f0149a15e2.tar.bz2
(expand_expr, case INDIRECT_REF): Delete obsolete code
to special case a SAVE_EXPR operand. From-SVN: r11938
-rw-r--r--gcc/expr.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index f61ff82..2fa8259 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5057,27 +5057,8 @@ expand_expr (exp, target, tmode, modifier)
tree exp1 = TREE_OPERAND (exp, 0);
tree exp2;
- /* A SAVE_EXPR as the address in an INDIRECT_EXPR is generated
- for *PTR += ANYTHING where PTR is put inside the SAVE_EXPR.
- This code has the same general effect as simply doing
- expand_expr on the save expr, except that the expression PTR
- is computed for use as a memory address. This means different
- code, suitable for indexing, may be generated. */
- if (TREE_CODE (exp1) == SAVE_EXPR
- && SAVE_EXPR_RTL (exp1) == 0
- && TYPE_MODE (TREE_TYPE (exp1)) == ptr_mode)
- {
- temp = expand_expr (TREE_OPERAND (exp1, 0), NULL_RTX,
- VOIDmode, EXPAND_SUM);
- op0 = memory_address (mode, temp);
- op0 = copy_all_regs (op0);
- SAVE_EXPR_RTL (exp1) = op0;
- }
- else
- {
- op0 = expand_expr (exp1, NULL_RTX, VOIDmode, EXPAND_SUM);
- op0 = memory_address (mode, op0);
- }
+ op0 = expand_expr (exp1, NULL_RTX, VOIDmode, EXPAND_SUM);
+ op0 = memory_address (mode, op0);
temp = gen_rtx (MEM, mode, op0);
/* If address was computed by addition,