diff options
Diffstat (limited to 'gcc/sel-sched.c')
-rw-r--r-- | gcc/sel-sched.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index 40dd503..ec2ab05 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -1191,11 +1191,10 @@ mark_unavailable_hard_regs (def_t def, struct reg_rename *reg_rename_p, frame pointer, or we could not discover its class. */ if (fixed_regs[regno] || global_regs[regno] -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - || (frame_pointer_needed && regno == HARD_FRAME_POINTER_REGNUM) -#else - || (frame_pointer_needed && regno == FRAME_POINTER_REGNUM) -#endif + || (!HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed + && regno == HARD_FRAME_POINTER_REGNUM) + || (HARD_FRAME_POINTER_REGNUM && frame_pointer_needed + && regno == FRAME_POINTER_REGNUM) || (reload_completed && cl == NO_REGS)) { SET_HARD_REG_SET (reg_rename_p->unavailable_hard_regs); |