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
This commit is contained in:
Vladimir Makarov 2014-09-18 15:57:06 +00:00 committed by Vladimir Makarov
parent b060c21734
commit 74c101d5fd
4 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/61360
* lra.c (lra): Call recog_init.
2014-09-18 Jakub Jelinek <jakub@redhat.com>
PR c++/62017

View File

@ -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;

View File

@ -1,3 +1,8 @@
2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
PR target/61360
* gcc.target/i386/pr61360.c: New.
2014-09-18 Jakub Jelinek <jakub@redhat.com>
PR c++/62017

View File

@ -0,0 +1,12 @@
/* { dg-do compile } */
/* { dg-options "-march=amdfam10 -O2" } */
int a, b, c, e, f, g, h;
long *d;
__attribute__((cold)) void fn1() {
int i = g | 1;
for (; g; h++) {
for (; a; e++) d[0] = c;
if (0.002 * i) break;
for (; b; f++) d[h] = 0;
}
}