summaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-02-08 21:59:11 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-02-08 21:59:11 +0000
commit25bb0bb5b0d6f5b0e23cd20f77cbddfcb41ca92a (patch)
tree093ae21eea3793a243815803b375c53a1efbd413 /gcc/lra.c
parenta698cc0308468029029e0501815747284194e407 (diff)
downloadgcc-25bb0bb5b0d6f5b0e23cd20f77cbddfcb41ca92a.tar.gz
re PR rtl-optimization/56246 (ICE in assign_by_spills, at lra-assigns.c:1262)
2013-02-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/56246 * lra-constraints.c (simplify_operand_subreg): Try tor reuse reload pseudo. * lra.c (lra): Clear lra_optional_reload_pseudos only when all constraints are satisfied. 2013-02-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/56246 * gcc.target/i386/pr56246.c: New test. From-SVN: r195902
Diffstat (limited to 'gcc/lra.c')
-rw-r--r--gcc/lra.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index 6271660d8ab..875c7afddab 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -2272,7 +2272,6 @@ lra (FILE *f)
{
for (;;)
{
- bitmap_clear (&lra_optional_reload_pseudos);
/* We should try to assign hard registers to scratches even
if there were no RTL transformations in
lra_constraints. */
@@ -2311,6 +2310,7 @@ lra (FILE *f)
live_p = false;
}
}
+ bitmap_clear (&lra_optional_reload_pseudos);
bitmap_clear (&lra_inheritance_pseudos);
bitmap_clear (&lra_split_regs);
if (! lra_need_for_spills_p ())