diff options
| author | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-14 13:41:22 +0000 |
|---|---|---|
| committer | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-14 13:41:22 +0000 |
| commit | ef2b582970a25836eec25afecd4e25e9c3117610 (patch) | |
| tree | 589588a1724cf7e9dd866b66860d9eb081c3ec99 | |
| parent | 3307526ced570bfdb232974c1a61ce277b10769a (diff) | |
| download | ppe42-gcc-ef2b582970a25836eec25afecd4e25e9c3117610.tar.gz ppe42-gcc-ef2b582970a25836eec25afecd4e25e9c3117610.zip | |
2005-12-14 J"orn Rennecke <joern.rennecke@st.com>
PR bootstrap/25397:
* struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing
of STACK_REGS bits.
* struct-euiv.c (rtx_equiv_p): Remove SUBREG case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108508 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 9 | ||||
| -rw-r--r-- | gcc/struct-equiv.c | 6 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a58022f12ef..7951f9f367e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2005-12-14 J"orn Rennecke <joern.rennecke@st.com> + + PR bootstrap/25397: + + * struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing + of STACK_REGS bits. + + * struct-euiv.c (rtx_equiv_p): Remove SUBREG case. + 2005-12-14 Jakub Jelinek <jakub@redhat.com> PR target/25254 diff --git a/gcc/struct-equiv.c b/gcc/struct-equiv.c index 60f146f9a56..3e6ba5deaba 100644 --- a/gcc/struct-equiv.c +++ b/gcc/struct-equiv.c @@ -367,10 +367,6 @@ rtx_equiv_p (rtx *xp, rtx y, int rvalue, struct equiv_info *info) /* ??? could extend to allow CONST_INT inputs. */ switch (code) { - case SUBREG: - gcc_assert (!reload_completed - || !info->live_update); - break; case REG: { unsigned x_regno = REGNO (x); @@ -1001,7 +997,7 @@ struct_equiv_init (int mode, struct equiv_info *info) these regs are not necessarily all dead - we swap random bogosity against constant bogosity. However, clearing these bits at least makes the regsets comparable. */ - for (rn = FIRST_STACK_REG; rn < LAST_STACK_REG; rn++) + for (rn = FIRST_STACK_REG; rn <= LAST_STACK_REG; rn++) { CLEAR_REGNO_REG_SET (info->x_block->il.rtl->global_live_at_end, rn); CLEAR_REGNO_REG_SET (info->y_block->il.rtl->global_live_at_end, rn); |

