Add alternative_mask to ira_implicitly_set_insn_hard_regs
commitca3be54b1dc1b91cd7396d23c7c01722834a4108
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Aug 2015 16:18:09 +0000 (7 16:18 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Aug 2015 16:18:09 +0000 (7 16:18 +0000)
treee6b6eb42328572e63f292ea0725c48ed8916349c
parent9f1638d516f0cad0efeab98ee8e5a460245a737b
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226724 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ira-color.c
gcc/ira-int.h
gcc/ira-lives.c
gcc/ira.h
gcc/sched-deps.c
gcc/sel-sched.c
gcc/target-globals.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr67029.c [new file with mode: 0644]