summaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-27 07:39:51 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-27 07:39:51 +0000
commit0de07d5e3d74bf4f25e1704c56fa3677879d4aaf (patch)
treed157958e0644d25a428b431b2445c8aaaff7b7bc /gcc/flow.c
parentfaf1555d9a87696a484d7eec706c2529f7d81bf1 (diff)
downloadgcc-0de07d5e3d74bf4f25e1704c56fa3677879d4aaf.tar.gz
* flow.c (calculate_global_regs_live): Force stack pointer
live at end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33476 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 5a729c77d7d..72a8372e05e 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3050,6 +3050,10 @@ calculate_global_regs_live (blocks_in, blocks_out, flags)
IOR_REG_SET (new_live_at_end, sb->global_live_at_start);
}
+ /* Force the stack pointer to be live -- which might not already be
+ the case for blocks within infinite loops. */
+ SET_REGNO_REG_SET (new_live_at_end, STACK_POINTER_REGNUM);
+
/* Regs used in phi nodes are not included in
global_live_at_start, since they are live only along a
particular edge. Set those regs that are live because of a