[regrename][sel-sched] Fix bogus use of HARD_FRAME_POINTER_REGNUM (was: Fix arm boots...
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 26 Sep 2016 14:52:03 +0000 (14:52 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Mon, 26 Sep 2016 14:52:03 +0000 (14:52 +0000)
* 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.

Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
From-SVN: r240496

gcc/ChangeLog
gcc/regrename.c
gcc/sel-sched.c

index bdebe60f82839171a4a98396b93aca4053a9b412..707b55f23064a50689cd69f84e72ec2ff5e40c66 100644 (file)
@@ -1,3 +1,11 @@
+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.
+
 2016-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        * config/s390/s390.c (s390_rtx_costs): Add /* fallthrough */.
index 54c7768efa226139c340868e42b784fb011a19b9..3509e8bab81bcbaeee124347bef21468ec80ec48 100644 (file)
@@ -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;
 
index 1ed0d4bdca673126528bf97a463efc5f54b9fd1b..2968bdfe797edbb7f703dde234c071b17a23c37b 100644 (file)
@@ -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))
     {