Fix liveness analysis in lra for spilled-into hard regs
authorTom de Vries <tom@codesourcery.com>
Thu, 1 Mar 2018 05:51:08 +0000 (05:51 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Thu, 1 Mar 2018 05:51:08 +0000 (05:51 +0000)
commit54178a01107b911813609693dd8d91968ac06819
treed07c5b1a1c94714f4b24f7a5d327eefc320c6bf7
parent7540ea866ad77094e6f77023558378ce9b196fd5
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.

From-SVN: r258093
gcc/ChangeLog
gcc/lra-int.h
gcc/lra-lives.c
gcc/lra-spills.c
gcc/lra.c