2014-10-15 Vladimir Makarov <vmakarov@redhat.com>
commitf95727eecaa64ea3f959550af606cf71044798d8
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2014 15:48:33 +0000 (15 15:48 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2014 15:48:33 +0000 (15 15:48 +0000)
tree6f3ad3b8727dfb842a5843b742084318f3fc84c6
parentbdd367a0c1338c6afb88aa16cd2c7052e28d33f9
2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63448
* lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
(LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
(LRA_MAX_INHERITANCE_PASSES): Use it.
(lra_constraint_iter_after_spill): Remove.
(lra_assignment_iter): New.
(lra_assignment_iter_after_spill): New.
* lra-assigns.c (lra_assignment_iter): New.
(lra_assignment_iter_after_spill): New.
(former_reload_pseudo_spill_p): New.
(spill_for): Set up former_reload_pseudo_spill_p.
(setup_live_pseudos_and_spill_after_risky): Ditto.
(assign_by_spills): Ditto.
(lra_assign): Increment lra_assignment_iter.  Print the iteration
number.  Reset former_reload_pseudo_spill_p.  Check
lra_assignment_iter_after_spill.
* lra.c (lra): Remove lra_constraint_iter_after_spill.  Initialize
lra_assignment_iter and lra_assignment_iter_after_spill.
* lra-constraints.c (lra_constraint_iter_after_spill): Remove.
(lra_constraints): Remove code with
lra_assignment_iter_after_spill.

2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63448
* gcc.target/i386/pr63448.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216270 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/lra-assigns.c
gcc/lra-constraints.c
gcc/lra-int.h
gcc/lra.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr63448.c [new file with mode: 0644]