aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-06-28 07:44:34 +0000
committerRichard Stallman <rms@gnu.org>1993-06-28 07:44:34 +0000
commitcc93088804b7c2efb573f0ad4346fcf8c0ef9cde (patch)
treec19e17394867e3b2a9ca57333d672b0624e14042
parentc1875d66e2a342b3edcedc09115b3ef2dcd6aea3 (diff)
downloadgcc-cc93088804b7c2efb573f0ad4346fcf8c0ef9cde.zip
gcc-cc93088804b7c2efb573f0ad4346fcf8c0ef9cde.tar.gz
gcc-cc93088804b7c2efb573f0ad4346fcf8c0ef9cde.tar.bz2
(GO_IF_NONINDEXED_ADDRESS): If reload_in_progress,
check a REG's reg_equiv_mem the way we would check a MEM. From-SVN: r4784
-rw-r--r--gcc/config/vax/vax.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 2bef63c..aac3ae7 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -675,7 +675,13 @@ gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 12))
(This much is the easy part.) */
#define GO_IF_NONINDEXED_ADDRESS(X, ADDR) \
{ register rtx xfoob = (X); \
- if (GET_CODE (xfoob) == REG) goto ADDR; \
+ if (GET_CODE (xfoob) == REG) \
+ { \
+ if (! reload_in_progress \
+ || reg_equiv_mem[REGNO (xfoob)] == 0 \
+ || INDIRECTABLE_ADDRESS_P (reg_equiv_mem[REGNO (xfoob)])) \
+ goto ADDR; \
+ } \
if (CONSTANT_ADDRESS_P (xfoob)) goto ADDR; \
if (INDIRECTABLE_ADDRESS_P (xfoob)) goto ADDR; \
xfoob = XEXP (X, 0); \