aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@gcc.gnu.org>2000-07-23 17:17:37 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2000-07-23 17:17:37 +0000
commit4eeaee5d0744aa39b340be11d3ff4589d1e37082 (patch)
tree7f739c578525de33f6befba2b5036ac64875f77d
parentfe3439b066a146a75b52b3589279e6926dc3ce1e (diff)
downloadgcc-4eeaee5d0744aa39b340be11d3ff4589d1e37082.zip
gcc-4eeaee5d0744aa39b340be11d3ff4589d1e37082.tar.gz
gcc-4eeaee5d0744aa39b340be11d3ff4589d1e37082.tar.bz2
unuglyfying code
From-SVN: r35206
-rw-r--r--gcc/recog.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 3b7dab3..a8d06bb 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -934,10 +934,13 @@ general_operand (op, mode)
if (code == MEM)
{
register rtx y = XEXP (op, 0);
+
if (! volatile_ok && MEM_VOLATILE_P (op))
return 0;
+
if (GET_CODE (y) == ADDRESSOF)
return 1;
+
/* Use the mem's mode, since it will be reloaded thus. */
mode = GET_MODE (op);
GO_IF_LEGITIMATE_ADDRESS (mode, y, win);