summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-address.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-address.c')
-rw-r--r--gcc/tree-ssa-address.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index f37d2a7c7e4..9dbc399d2cd 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -1,5 +1,5 @@
/* Memory address lowering and addressing mode selection.
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004 Free Software Foundation, Inc.
This file is part of GCC.
@@ -134,15 +134,10 @@ gen_addr_rtx (rtx symbol, rtx base, rtx index, rtx step, rtx offset,
act_elem = symbol;
if (offset)
{
- act_elem = gen_rtx_PLUS (Pmode, act_elem, offset);
-
+ act_elem = gen_rtx_CONST (Pmode,
+ gen_rtx_PLUS (Pmode, act_elem, offset));
if (offset_p)
- *offset_p = &XEXP (act_elem, 1);
-
- if (GET_CODE (symbol) == SYMBOL_REF
- || GET_CODE (symbol) == LABEL_REF
- || GET_CODE (symbol) == CONST)
- act_elem = gen_rtx_CONST (Pmode, act_elem);
+ *offset_p = &XEXP (XEXP (act_elem, 0), 1);
}
if (*addr)