2017-02-14 Vladimir Makarov <vmakarov@redhat.com>
commit3da302c549cd5fc25b56a0c7dc720ffa0f2b639a
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Feb 2017 22:17:19 +0000 (14 22:17 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Feb 2017 22:17:19 +0000 (14 22:17 +0000)
treed081ca334c52567eb71268a947e567756d1732eb
parent5f8c10bd3f416a3f93b0c8303db46b9f086ead71
2017-02-14  Vladimir Makarov  <vmakarov@redhat.com>

PR target/79282
* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
member early_clobber_alts.
* lra-lives.c (reg_early_clobber_p): New.
(process_bb_lives): Use it.
* lra.c (new_insn_reg): New arg early_clobber_alts.  Use it.
(debug_operand_data): Initialize early_clobber_alts.
(setup_operand_alternative): Set up early_clobber_alts.
(collect_non_operand_hard_regs): Ditto.  Pass early clobber
alternatives to new_insn_reg.
(add_regs_to_insn_regno_info): Add arg early_clobber_alts.  Use
it.
(lra_update_insn_regno_info): Pass the new arg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245459 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/lra-int.h
gcc/lra-lives.c
gcc/lra.c