diff options
author | Richard Henderson <rth@cygnus.com> | 2000-04-27 00:39:51 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-04-27 00:39:51 -0700 |
commit | 83a67d12b2fbf92b45e8a4e2c6b77e3c817eeba5 (patch) | |
tree | d157958e0644d25a428b431b2445c8aaaff7b7bc | |
parent | a9f531a60b31344b51f07c6b9685865b20309533 (diff) | |
download | gcc-83a67d12b2fbf92b45e8a4e2c6b77e3c817eeba5.zip gcc-83a67d12b2fbf92b45e8a4e2c6b77e3c817eeba5.tar.gz gcc-83a67d12b2fbf92b45e8a4e2c6b77e3c817eeba5.tar.bz2 |
flow.c (calculate_global_regs_live): Force stack pointer live at end.
* flow.c (calculate_global_regs_live): Force stack pointer
live at end.
From-SVN: r33476
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/flow.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4354846..055cfbf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,9 @@ * flow.c (allocate_reg_life_data): Set max_regno here ... (life_analysis): ... not here. + * flow.c (calculate_global_regs_live): Force stack pointer + live at end. + 2000-04-26 Richard Henderson <rth@cygnus.com> * jump.c (redirect_exp_1): Rework from old redirect_exp. Never @@ -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 |