diff options
author | Eric Christopher <echristo@redhat.com> | 2003-11-12 07:24:25 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2003-11-12 07:24:25 +0000 |
commit | bbbbbbe7c633632115ac072e2f7fe30562464f6d (patch) | |
tree | 9f068397ade5ba53706ce72388df6c3b14571033 | |
parent | f9d52373f85b16816d9068bd855df229f4be8d4b (diff) | |
download | gcc-bbbbbbe7c633632115ac072e2f7fe30562464f6d.zip gcc-bbbbbbe7c633632115ac072e2f7fe30562464f6d.tar.gz gcc-bbbbbbe7c633632115ac072e2f7fe30562464f6d.tar.bz2 |
reload1.c (reload): Verify that addresses for reg_equiv_* are valid for the architecture.
2003-11-11 Eric Christopher <echristo@redhat.com>
* reload1.c (reload): Verify that addresses for
reg_equiv_* are valid for the architecture.
From-SVN: r73487
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload1.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f04aff9..a749add 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2003-11-11 Eric Christopher <echristo@redhat.com> + * reload1.c (reload): Verify that addresses for + reg_equiv_* are valid for the architecture. + +2003-11-11 Eric Christopher <echristo@redhat.com> + * function.c (purge_addressof_1): Add libcall check. Remove test for cached replacements on fallback case. Simplify mode comparisons. Add libcall test for diff --git a/gcc/reload1.c b/gcc/reload1.c index 717489f..7bfc142 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 |