diff options
author | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-12 07:24:25 +0000 |
---|---|---|
committer | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-12 07:24:25 +0000 |
commit | 488b20dd1a999b7b5346402604987a382aefb9b7 (patch) | |
tree | 9f068397ade5ba53706ce72388df6c3b14571033 /gcc/reload1.c | |
parent | ddfd4a9f77dc36eb11bdd38cb713974bee8fd8fc (diff) | |
download | gcc-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.c | 6 |
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 |