aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2014-09-18 15:57:06 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2014-09-18 15:57:06 +0000
commit74c101d5fd4ebf45d9127efd82e1325882e48a12 (patch)
tree96c5f2ec46b587f3702fc950d53369906dbf248e /gcc/lra.c
parentb060c2173402c6aa2ad4669317e3a3d61d8759c7 (diff)
downloadgcc-74c101d5fd4ebf45d9127efd82e1325882e48a12.zip
gcc-74c101d5fd4ebf45d9127efd82e1325882e48a12.tar.gz
gcc-74c101d5fd4ebf45d9127efd82e1325882e48a12.tar.bz2
re PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune=bdver4)
2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR target/61360 * lra.c (lra): Call recog_init. 2014-09-18 Vladimir Makarov <vmakarov@redhat.com> PR target/61360 * gcc.target/i386/pr61360.c: New. From-SVN: r215358
Diffstat (limited to 'gcc/lra.c')
-rw-r--r--gcc/lra.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index be8b489..acec8af 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -2135,6 +2135,11 @@ lra (FILE *f)
lra_in_progress = 1;
+ /* The enable attributes can change their values as LRA starts
+ although it is a bad practice. To prevent reuse of the outdated
+ values, clear them. */
+ recog_init ();
+
lra_live_range_iter = lra_coalesce_iter = 0;
lra_constraint_iter = lra_constraint_iter_after_spill = 0;
lra_inheritance_iter = lra_undo_inheritance_iter = 0;