diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-07-07 00:18:02 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-06 18:18:02 -0600 |
commit | 1b4d8b2b5cd9ba736a378fe89513b535ca75cb26 (patch) | |
tree | ab47a0f313355257a9ecb6f7343917c2961a0ddb | |
parent | 27da1b4d5a1c30a60a38f725f2119fda88854d88 (diff) | |
download | gcc-1b4d8b2b5cd9ba736a378fe89513b535ca75cb26.zip gcc-1b4d8b2b5cd9ba736a378fe89513b535ca75cb26.tar.gz gcc-1b4d8b2b5cd9ba736a378fe89513b535ca75cb26.tar.bz2 |
reload.c (find_equiv_reg): If need_stable_sp is set, check if stack pointer is changed directly.
* reload.c (find_equiv_reg): If need_stable_sp is set,
check if stack pointer is changed directly.
From-SVN: r20984
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/reload.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d258618..d175d6d 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): If need_stable_sp is set, + check if stack pointer is changed directly. + * reload1.c (delete_dead_insn): Don't delete feeding insn if that insn has side effects. diff --git a/gcc/reload.c b/gcc/reload.c index ab04ae3..828be56 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6220,6 +6220,8 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode) if (goal_mem_addr_varies && reg_overlap_mentioned_for_reload_p (dest, goal)) return 0; + if (xregno == STACK_POINTER_REGNUM && need_stable_sp) + return 0; } else if (goal_mem && GET_CODE (dest) == MEM && ! push_operand (dest, GET_MODE (dest))) |