aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra.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.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.c')
-rw-r--r--gcc/lra.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index e9194bb..f664f07 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -2140,8 +2140,8 @@ lra (FILE *f)
values, clear them. */
recog_init ();
- lra_live_range_iter = lra_coalesce_iter = 0;
- lra_constraint_iter = lra_constraint_iter_after_spill = 0;
+ lra_live_range_iter = lra_coalesce_iter = lra_constraint_iter = 0;
+ lra_assignment_iter = lra_assignment_iter_after_spill = 0;
lra_inheritance_iter = lra_undo_inheritance_iter = 0;
setup_reg_spill_flag ();
@@ -2275,7 +2275,7 @@ lra (FILE *f)
lra_eliminate (false, false);
lra_constraint_new_regno_start = max_reg_num ();
lra_constraint_new_insn_uid_start = get_max_uid ();
- lra_constraint_iter_after_spill = 0;
+ lra_assignment_iter_after_spill = 0;
}
restore_scratches ();
lra_eliminate (true, false);