This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 4/7] use #if for HARD_FRAME_POINTER_IS_FRAME_POINTER less


From: Trevor Saunders <tbsaunde+gcc@tbsaunde.org>

gcc/ChangeLog:

2015-07-06  Trevor Saunders  <tbsaunde+gcc@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]