diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-07-07 00:19:56 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-06 18:19:56 -0600 |
commit | a5546290afe02293d2574aa706435cfaefa98627 (patch) | |
tree | ee0f87ae67f565aadaa69201b76457736faabfd2 | |
parent | 1b4d8b2b5cd9ba736a378fe89513b535ca75cb26 (diff) | |
download | gcc-a5546290afe02293d2574aa706435cfaefa98627.zip gcc-a5546290afe02293d2574aa706435cfaefa98627.tar.gz gcc-a5546290afe02293d2574aa706435cfaefa98627.tar.bz2 |
reload.c (find_equiv_reg): When looking for stack pointer + const, make sure we don't use a stack adjust.
* reload.c (find_equiv_reg): When looking for stack pointer + const,
make sure we don't use a stack adjust.
From-SVN: r20985
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/reload.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d175d6d..6b761e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -76,6 +76,9 @@ Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com> Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + * reload.c (find_equiv_reg): When looking for stack pointer + const, + make sure we don't use a stack adjust. + * reload.c (find_equiv_reg): If need_stable_sp is set, check if stack pointer is changed directly. diff --git a/gcc/reload.c b/gcc/reload.c index 828be56..0520554 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6017,6 +6017,9 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode) && (valueno = true_regnum (valtry = SET_SRC (pat))) >= 0) || (goal_const && rtx_equal_p (SET_SRC (pat), goal) + /* When looking for stack pointer + const, + make sure we don't use a stack adjust. */ + && !reg_overlap_mentioned_for_reload_p (SET_DEST (pat), goal) && (valueno = true_regnum (valtry = SET_DEST (pat))) >= 0) || (goal_mem && (valueno = true_regnum (valtry = SET_DEST (pat))) >= 0 |