diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2014-10-15 15:48:33 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2014-10-15 15:48:33 +0000 |
commit | f54437d5f7912771af11f75bdb370dc440ab2b26 (patch) | |
tree | 6f3ad3b8727dfb842a5843b742084318f3fc84c6 /gcc/lra-constraints.c | |
parent | e631038f4b5ca08723d34c5523e47dc8c80ce602 (diff) | |
download | gcc-f54437d5f7912771af11f75bdb370dc440ab2b26.zip gcc-f54437d5f7912771af11f75bdb370dc440ab2b26.tar.gz gcc-f54437d5f7912771af11f75bdb370dc440ab2b26.tar.bz2 |
re PR rtl-optimization/63448 (ICE when compiling atlas 3.10.2)
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.
From-SVN: r216270
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index f90d13b..2b17aa3 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -3895,10 +3895,6 @@ loc_equivalence_callback (rtx loc, const_rtx, void *data) /* The current iteration number of this LRA pass. */ int lra_constraint_iter; -/* The current iteration number of this LRA pass after the last spill - pass. */ -int lra_constraint_iter_after_spill; - /* True if we substituted equiv which needs checking register allocation correctness because the equivalent value contains allocatable hard registers or when we restore multi-register @@ -4043,11 +4039,6 @@ lra_constraints (bool first_p) if (lra_dump_file != NULL) fprintf (lra_dump_file, "\n********** Local #%d: **********\n\n", lra_constraint_iter); - lra_constraint_iter_after_spill++; - if (lra_constraint_iter_after_spill > LRA_MAX_CONSTRAINT_ITERATION_NUMBER) - internal_error - ("Maximum number of LRA constraint passes is achieved (%d)\n", - LRA_MAX_CONSTRAINT_ITERATION_NUMBER); changed_p = false; if (pic_offset_table_rtx && REGNO (pic_offset_table_rtx) >= FIRST_PSEUDO_REGISTER) |