Message ID | 57E9320C.3060609@foss.arm.com |
---|---|
State | New |
Headers | show |
On 09/26/2016 04:34 PM, Kyrill Tkachov wrote: > Hi all, > > This patch implements the minimal fixes for the issues that > https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01547.html was supposed to > address > as suggested by Alexander. > > Bootstrapped and tested on aarch64-none-linux-gnu and > arm-none-linux-gnueabihf. > > Is this ok for trunk? > > Thanks, > Kyrill > > 2016-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > Alexander Monakov <amonakov@ispras.ru> > > * regrename.c (rename_chains): Check > HARD_FRAME_POINTER_IS_FRAME_POINTER rather than > HARD_FRAME_POINTER_REGNUM when picking unavailable registers. > * sel-sched.c (mark_unavailable_hard_regs): Likewise. Oh well, it's the minimal fix. Ok. Bernd
diff --git a/gcc/regrename.c b/gcc/regrename.c index 54c7768efa226139c340868e42b784fb011a19b9..3509e8bab81bcbaeee124347bef21468ec80ec48 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -481,7 +481,7 @@ rename_chains (void) if (fixed_regs[reg] || global_regs[reg] || (!HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed && reg == HARD_FRAME_POINTER_REGNUM) - || (HARD_FRAME_POINTER_REGNUM && frame_pointer_needed + || (HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed && reg == FRAME_POINTER_REGNUM)) continue; diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index 25a100ee34f6ceaceda2814ae281cadf8b29e688..009e7831ecc0822ff83c63c6214a11917a3e2d27 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -1185,7 +1185,7 @@ mark_unavailable_hard_regs (def_t def, struct reg_rename *reg_rename_p, || global_regs[regno] || (!HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed && regno == HARD_FRAME_POINTER_REGNUM) - || (HARD_FRAME_POINTER_REGNUM && frame_pointer_needed + || (HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed && regno == FRAME_POINTER_REGNUM) || (reload_completed && cl == NO_REGS)) {