]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/lra.c
Fix liveness analysis in lra for spilled-into hard regs
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2018 05:51:08 +0000 (05:51 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2018 05:51:08 +0000 (05:51 +0000)
commit95f18d43d2b5e64b61b25f55493f09e80874e07d
treed07c5b1a1c94714f4b24f7a5d327eefc320c6bf7
parent94dcb1c88ecab5fb9d7ca45a40e9a6e8547651ae
Fix liveness analysis in lra for spilled-into hard regs

2018-03-01  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/83327
* lra-int.h (hard_regs_spilled_into): Declare.
* lra.c (hard_regs_spilled_into): Define.
(init_reg_info): Init hard_regs_spilled_into.
* lra-spills.c (assign_spill_hard_regs): Update hard_regs_spilled_into.
* lra-lives.c (make_hard_regno_born, make_hard_regno_dead)
(process_bb_lives): Handle hard_regs_spilled_into.
(lra_create_live_ranges_1): Before doing liveness propagation, clear
regs in all_hard_regs_bitmap if set in hard_regs_spilled_into.

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