]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/51287 (252.eon compfail with -march=atom)
authorEnkovich Ilya <ilya.enkovich@intel.com>
Fri, 25 Nov 2011 10:29:42 +0000 (10:29 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Fri, 25 Nov 2011 10:29:42 +0000 (10:29 +0000)
2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>

       PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

From-SVN: r181714

gcc/ChangeLog
gcc/config/i386/i386.c

index cb8cb357b1f0ed8194dbf04a70eefbbaf877d567..95d8a0b0a4a407b915f9bf4d8c4c415f47166247 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-24  Enkovich Ilya  <ilya.enkovich@intel.com>
+
+       PR target/51287
+       * i386.c (distance_non_agu_define): Fix insn attr check.
+
 2011-11-20  Andreas Tobler  <andreast@fgznet.ch>
 
        * configure: Regenerate.
index 382fabffa02fec6612e8e6f86d37ee0c04f5f1fd..6aa029709c9bfc50462e9d849d4514da40486a02 100644 (file)
@@ -16329,7 +16329,6 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2,
   basic_block bb = BLOCK_FOR_INSN (insn);
   int distance = 0;
   df_ref *def_rec;
-  enum attr_type insn_type;
 
   if (insn != BB_HEAD (bb))
     {
@@ -16345,8 +16344,8 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2,
                     && (regno1 == DF_REF_REGNO (*def_rec)
                        || regno2 == DF_REF_REGNO (*def_rec)))
                  {
-                   insn_type = get_attr_type (prev);
-                   if (insn_type != TYPE_LEA)
+                   if (recog_memoized (prev) < 0
+                       || get_attr_type (prev) != TYPE_LEA)
                      goto done;
                  }
            }
@@ -16385,8 +16384,8 @@ distance_non_agu_define (unsigned int regno1, unsigned int regno2,
                        && (regno1 == DF_REF_REGNO (*def_rec)
                            || regno2 == DF_REF_REGNO (*def_rec)))
                      {
-                       insn_type = get_attr_type (prev);
-                       if (insn_type != TYPE_LEA)
+                       if (recog_memoized (prev) < 0
+                           || get_attr_type (prev) != TYPE_LEA)
                          goto done;
                      }
                }