[regrename][sel-sched] Fix bogus use of HARD_FRAME_POINTER_REGNUM (was: Fix arm bootstrap)
* 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
This commit is contained in:
parent
1d92cba91b
commit
a943bb7fcd
3 changed files with 10 additions and 2 deletions
|
@ -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 */.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue