condexec merge part 13
Richard Henderson
rth@cygnus.com
Thu Apr 27 00:43:00 GMT 2000
We had (or perhaps will soon cease to have) a hack in mark_used_reg
to keep from adding REG_DEAD notes to the stack pointer. Better is
to just make sure the thing is considered live. That way the death
notes match the other life information.
r~
* flow.c (calculate_global_regs_live): Force stack pointer
live at end.
Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.266
retrieving revision 1.267
diff -c -p -d -r1.266 -r1.267
*** flow.c 2000/04/27 07:38:40 1.266
--- flow.c 2000/04/27 07:39:51 1.267
*************** calculate_global_regs_live (blocks_in, b
*** 3050,3055 ****
--- 3050,3059 ----
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
More information about the Gcc-patches
mailing list