From bda10a9ce459f1d0be69e57ea95121db04abcf61 Mon Sep 17 00:00:00 2001 From: dje Date: Fri, 24 Sep 1993 19:54:46 +0000 Subject: * sched.c: (memrefs_conflict_p): We can work out whether references via hard_frame_pointer_rtx are likely to conflict. (attach_deaths, case REG): Don't add death notes for HARD_FRAME_POINTER_REGNUM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5466 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/sched.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gcc/sched.c') diff --git a/gcc/sched.c b/gcc/sched.c index 2ec48f42fe7..b067d36abaa 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -563,7 +563,8 @@ memrefs_conflict_p (xsize, x, ysize, y, c) return (xsize == 0 || ysize == 0 || (c >= 0 && xsize > c) || (c < 0 && ysize+c > 0)); - if (y == frame_pointer_rtx || y == stack_pointer_rtx) + if (y == frame_pointer_rtx || y == hard_frame_pointer_rtx + || y == stack_pointer_rtx) { rtx t = y; int tsize = ysize; @@ -571,7 +572,8 @@ memrefs_conflict_p (xsize, x, ysize, y, c) x = t; xsize = tsize; } - if (x == frame_pointer_rtx || x == stack_pointer_rtx) + if (x == frame_pointer_rtx || x == hard_frame_pointer_rtx + || x == stack_pointer_rtx) { rtx y1; @@ -2663,6 +2665,9 @@ attach_deaths (x, insn, set_p) STACK_POINTER_REGNUM, since these are always considered to be live. Similarly for ARG_POINTER_REGNUM if it is fixed. */ if (regno != FRAME_POINTER_REGNUM +#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM + && ! (regno == HARD_FRAME_POINTER_REGNUM) +#endif #if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM && ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno]) #endif -- cgit v1.2.1