aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2014-10-15 15:48:33 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2014-10-15 15:48:33 +0000
commitf54437d5f7912771af11f75bdb370dc440ab2b26 (patch)
tree6f3ad3b8727dfb842a5843b742084318f3fc84c6 /gcc/lra-constraints.c
parente631038f4b5ca08723d34c5523e47dc8c80ce602 (diff)
downloadgcc-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.c9
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)