2014-11-14 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Nov 2014 20:06:11 +0000 (20:06 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Nov 2014 20:06:11 +0000 (20:06 +0000)
commit044726588bc9d9d13e41e5380151545d979d3a87
treebca0d7e49464e99d894d55c93bb521b4d91d4e18
parent245ab191eaef919a787c44b8e9ec808e552e821c
2014-11-14  Vladimir Makarov  <vmakarov@redhat.com>

* lra-int.h (lra_create_live_ranges): Add parameter.
* lra-lives.c (temp_bitmap): Move higher.
(initiate_live_solver): Move temp_bitmap initialization into
lra_live_ranges_init.
(finish_live_solver): Move temp_bitmap clearing into
live_ranges_finish.
(process_bb_lives): Add parameter.  Use it to control live info
update and dead insn elimination.  Pass it to mark_regno_live and
mark_regno_dead.
(lra_create_live_ranges): Add parameter.  Pass it to
process_bb_lives.
(lra_live_ranges_init, lra_live_ranges_finish): See changes in
initiate_live_solver and finish_live_solver.
* lra-remat.c (do_remat): Process insn non-operand hard regs too.
Use temp_bitmap to update avail_cands.
* lra.c (lra): Pass new parameter to lra_create_live_ranges.  Move
check with lra_need_for_spill_p after live range pass.  Switch on
rematerialization pass.

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