From: Trevor Saunders <tbsaunde+...@tbsaunde.org> gcc/ChangeLog:
2015-07-06 Trevor Saunders <tbsaunde+...@tbsaunde.org> * combine.c (can_combine_def_p): Don't check the value of * HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor. (combinable_i3pat): Likewise. (mark_used_regs_combine): Likewise. * regrename.c (rename_chains): Likewise. * reload.c (find_reloads_address): Likewise. * sel-sched.c (mark_unavailable_hard_regs): Likewise. --- gcc/combine.c | 14 +++++--------- gcc/regrename.c | 10 ++++------ gcc/reload.c | 5 ++--- gcc/sel-sched.c | 9 ++++----- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/gcc/combine.c b/gcc/combine.c index 6935934..da5c335 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1011,10 +1011,9 @@ can_combine_def_p (df_ref def) /* Do not combine frame pointer adjustments. */ if ((regno == FRAME_POINTER_REGNUM && (!reload_completed || frame_pointer_needed)) -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - || (regno == HARD_FRAME_POINTER_REGNUM + || (!HARD_FRAME_POINTER_IS_FRAME_POINTER + && regno == HARD_FRAME_POINTER_REGNUM && (!reload_completed || frame_pointer_needed)) -#endif || (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && regno == ARG_POINTER_REGNUM && fixed_regs[regno])) return false; @@ -2227,9 +2226,7 @@ combinable_i3pat (rtx_insn *i3, rtx *loc, rtx i2dest, rtx i1dest, rtx i0dest, && REG_P (subdest) && reg_referenced_p (subdest, PATTERN (i3)) && REGNO (subdest) != FRAME_POINTER_REGNUM -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - && REGNO (subdest) != HARD_FRAME_POINTER_REGNUM -#endif + && (HARD_FRAME_POINTER_IS_FRAME_POINTER || REGNO (subdest) != HARD_FRAME_POINTER_REGNUM) && (FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM || (REGNO (subdest) != ARG_POINTER_REGNUM || ! fixed_regs [REGNO (subdest)])) @@ -13316,9 +13313,8 @@ mark_used_regs_combine (rtx x) { /* None of this applies to the stack, frame or arg pointers. */ if (regno == STACK_POINTER_REGNUM -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - || regno == HARD_FRAME_POINTER_REGNUM -#endif + || (!HARD_FRAME_POINTER_IS_FRAME_POINTER + && regno == HARD_FRAME_POINTER_REGNUM) || (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && regno == ARG_POINTER_REGNUM && fixed_regs[regno]) || regno == FRAME_POINTER_REGNUM) diff --git a/gcc/regrename.c b/gcc/regrename.c index 6c7d650..2e08669 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -447,12 +447,10 @@ rename_chains (void) continue; if (fixed_regs[reg] || global_regs[reg] -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - || (frame_pointer_needed && reg == HARD_FRAME_POINTER_REGNUM) -#else - || (frame_pointer_needed && reg == FRAME_POINTER_REGNUM) -#endif - ) + || (!HARD_FRAME_POINTER_IS_FRAME_POINTER && frame_pointer_needed + && reg == HARD_FRAME_POINTER_REGNUM) + || (HARD_FRAME_POINTER_REGNUM && frame_pointer_needed + && reg == FRAME_POINTER_REGNUM)) continue; COPY_HARD_REG_SET (this_unavailable, unavailable); diff --git a/gcc/reload.c b/gcc/reload.c index 1dc04bf..4bc996f 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -5176,9 +5176,8 @@ find_reloads_address (machine_mode mode, rtx *memrefloc, rtx ad, if ((regno_ok_for_base_p (REGNO (operand), mode, as, inner_code, GET_CODE (addend)) || operand == frame_pointer_rtx -#if !HARD_FRAME_POINTER_IS_FRAME_POINTER - || operand == hard_frame_pointer_rtx -#endif + || (!HARD_FRAME_POINTER_IS_FRAME_POINTER + && operand == hard_frame_pointer_rtx) || (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && operand == arg_pointer_rtx) || operand == stack_pointer_rtx) diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index be5d1d1..3f7d78b 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -1194,11 +1194,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); -- 2.4.0