egcs 1.1 alpha critical fix
Richard Henderson
rth@cygnus.com
Sat Sep 5 21:34:00 GMT 1998
I just committed the following to fix a code gen problem
in the SMP Linux Alpha kernel. Sigh.
r~
Sat Sep 5 21:46:47 1998 Richard Henderson <rth@cygnus.com>
* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
not whatever we're generating now.
Index: config/alpha/alpha.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/alpha/alpha.c,v
retrieving revision 1.53
diff -u -p -r1.53 alpha.c
--- alpha.c 1998/07/06 23:32:38 1.53
+++ alpha.c 1998/09/06 04:28:55
@@ -2468,6 +2468,8 @@ alpha_return_addr (count, frame)
static int
alpha_ra_ever_killed ()
{
+ rtx top;
+
#ifdef ASM_OUTPUT_MI_THUNK
if (current_function_is_thunk)
return 0;
@@ -2475,8 +2477,11 @@ alpha_ra_ever_killed ()
if (!alpha_return_addr_rtx)
return regs_ever_live[REG_RA];
- return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA),
- get_insns(), NULL_RTX);
+ push_topmost_sequence ();
+ top = get_insns();
+ pop_topmost_sequence ();
+
+ return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA), top, NULL_RTX);
}
More information about the Gcc-patches
mailing list