From: Richard Henderson Date: Thu, 7 Dec 2000 19:29:24 +0000 (-0800) Subject: flow.c (calculate_global_regs_live): Force the stack pointer live after reload as... X-Git-Tag: prereleases/libstdc++-2.92~2384 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f846e0de9b4d71d063dd1e40e15e1493f449e22a;p=thirdparty%2Fgcc.git flow.c (calculate_global_regs_live): Force the stack pointer live after reload as well. * flow.c (calculate_global_regs_live): Force the stack pointer live after reload as well. From-SVN: r38114 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0587e1a06e3b..a82ff39004b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-12-07 Richard Henderson + + * flow.c (calculate_global_regs_live): Force the stack pointer live + after reload as well. + 2000-12-07 Bruce Korb * fixinc/Makefile.*(exeext): the variables are exeext, the diff --git a/gcc/flow.c b/gcc/flow.c index 1e51d20038bf..92b500290793 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -3368,14 +3368,14 @@ calculate_global_regs_live (blocks_in, blocks_out, flags) IOR_REG_SET (new_live_at_end, sb->global_live_at_start); } + /* The all-important stack pointer must always be live. */ + SET_REGNO_REG_SET (new_live_at_end, STACK_POINTER_REGNUM); + /* Before reload, there are a few registers that must be forced live everywhere -- which might not already be the case for blocks within infinite loops. */ if (! reload_completed) { - /* The all-important stack pointer. */ - SET_REGNO_REG_SET (new_live_at_end, STACK_POINTER_REGNUM); - /* Any reference to any pseudo before reload is a potential reference of the frame pointer. */ SET_REGNO_REG_SET (new_live_at_end, FRAME_POINTER_REGNUM);