diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2013-02-08 21:59:11 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-02-08 21:59:11 +0000 |
commit | 25bb0bb5b0d6f5b0e23cd20f77cbddfcb41ca92a (patch) | |
tree | 093ae21eea3793a243815803b375c53a1efbd413 /gcc/lra.c | |
parent | a698cc0308468029029e0501815747284194e407 (diff) | |
download | gcc-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.c | 2 |
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 ()) |