diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2013-09-10 15:37:57 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-09-10 15:37:57 +0000 |
commit | b0681c9e51cafab3bf40c1997e7da9e3d13bdefd (patch) | |
tree | 0a7a73889f7b810825425d92ac8210b4254413e0 /gcc/lra.c | |
parent | 14c34330495ec168199e0f9694cc39f74c3dbe56 (diff) | |
download | gcc-b0681c9e51cafab3bf40c1997e7da9e3d13bdefd.zip gcc-b0681c9e51cafab3bf40c1997e7da9e3d13bdefd.tar.gz gcc-b0681c9e51cafab3bf40c1997e7da9e3d13bdefd.tar.bz2 |
lra.c (lra): Clear lra_optional_reload_pseudos before every constraint pass.
2013-09-10 Vladimir Makarov <vmakarov@redhat.com>
* lra.c (lra): Clear lra_optional_reload_pseudos before every
constraint pass.
* lra-constraints.c (curr_insn_transform): Switch on optional
reloads. Check destination too to check move insn.
(undo_optional_reloads): Add check that the original peudo did not
changed its allocation and the optional reload was inherited on
last inheritance pass. Break loop after deciding to keep optional
reload.
(lra_undo_inheritance): Add check that inherited pseudo still in
memory.
From-SVN: r202468
Diffstat (limited to 'gcc/lra.c')
-rw-r--r-- | gcc/lra.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2315,6 +2315,7 @@ 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. */ @@ -2365,7 +2366,6 @@ lra (FILE *f) if (! live_p) lra_clear_live_ranges (); } - bitmap_clear (&lra_optional_reload_pseudos); } bitmap_clear (&lra_subreg_reload_pseudos); bitmap_clear (&lra_inheritance_pseudos); |