[Bug rtl-optimization/67029] [5/6 regression] gcc-5.2.0 unable to find a register to spill with O3 fsched-pressure fschedule-insns
hjl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Aug 7 16:18:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67029
--- Comment #13 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Fri Aug 7 16:18:09 2015
New Revision: 226724
URL: https://gcc.gnu.org/viewcvs?rev=226724&root=gcc&view=rev
Log:
Add alternative_mask to ira_implicitly_set_insn_hard_regs
Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.
gcc/
PR rtl-optimization/67029
* ira-color.c: Include "recog.h" before including "ira-int.h".
* target-globals.c: Likewise.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
adds an alternative_mask argument and use it instead of
preferred_alternatives.
* ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
* ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
* sched-deps.c: Include "ira-int.h" after including "ira.h".
(sched_analyze_insn): Update call to
ira_implicitly_set_insn_hard_regs.
* sel-sched.c: Include "ira-int.h" after including "ira.h".
(implicit_clobber_conflict_p): Update call to
ira_implicitly_set_insn_hard_regs.
gcc/testsuite/
PR rtl-optimization/67029
* gcc.dg/pr67029.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/pr67029.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/ira-int.h
trunk/gcc/ira-lives.c
trunk/gcc/ira.h
trunk/gcc/sched-deps.c
trunk/gcc/sel-sched.c
trunk/gcc/target-globals.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list