summaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-02 20:39:24 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-02 20:39:24 +0000
commit90363d185752e6f509ea441173d2052d3f59f263 (patch)
tree41b57caed5f1d067c82e0bc45f8f59c9a998e888 /gcc/explow.c
parent309ac9786c514cb175eb20fa9a0f8e7a04a87aa5 (diff)
downloadgcc-90363d185752e6f509ea441173d2052d3f59f263.tar.gz
PR 23196
* explow.c (memory_address): Remove special-case for virtual_stack_vars_rtx and virtual_incoming_args_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102668 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index 23b124fbbb5..eea0e562289 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -477,16 +477,10 @@ memory_address (enum machine_mode mode, rtx x)
win2:
x = oldx;
win:
- if (flag_force_addr && ! cse_not_expected && !REG_P (x)
- /* Don't copy an addr via a reg if it is one of our stack slots. */
- && ! (GET_CODE (x) == PLUS
- && (XEXP (x, 0) == virtual_stack_vars_rtx
- || XEXP (x, 0) == virtual_incoming_args_rtx)))
+ if (flag_force_addr && ! cse_not_expected && !REG_P (x))
{
- if (general_operand (x, Pmode))
- x = force_reg (Pmode, x);
- else
- x = force_operand (x, NULL_RTX);
+ x = force_operand (x, NULL_RTX);
+ x = force_reg (Pmode, x);
}
}