summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-12 07:24:25 +0000
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-12 07:24:25 +0000
commit488b20dd1a999b7b5346402604987a382aefb9b7 (patch)
tree9f068397ade5ba53706ce72388df6c3b14571033 /gcc/reload1.c
parentddfd4a9f77dc36eb11bdd38cb713974bee8fd8fc (diff)
downloadgcc-488b20dd1a999b7b5346402604987a382aefb9b7.tar.gz
2003-11-11 Eric Christopher <echristo@redhat.com>
* reload1.c (reload): Verify that addresses for reg_equiv_* are valid for the architecture. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73487 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 717489f3216..7bfc142ba95 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -774,6 +774,12 @@ reload (rtx first, int global)
= force_const_mem (GET_MODE (SET_DEST (set)), x);
if (!reg_equiv_memory_loc[i])
continue;
+ /* As above. Later passes of reload assume that
+ all addresses found in the reg_equiv_* arrays
+ were originally legitimate. */
+ if (!memory_operand (reg_equiv_memory_loc[i], VOIDmode))
+ reg_equiv_memory_loc[i] = NULL_RTX;
+
}
}
else