ira.c (find_moveable_pseudos): Skip registers whose DF_REG_EQ_USE_COUNT is nonzero.
authorBernd Schmidt <bernds@codesourcery.com>
Tue, 15 May 2012 02:03:01 +0000 (02:03 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Tue, 15 May 2012 02:03:01 +0000 (02:03 +0000)
* ira.c (find_moveable_pseudos): Skip registers whose
DF_REG_EQ_USE_COUNT is nonzero.

From-SVN: r187495

gcc/ChangeLog
gcc/ira.c

index 0c95754dd823c61868f176c5ce6043300c936173..df9f0dc09da9dd6d3b51f8c9734e486ce9d0f8ef 100644 (file)
@@ -1,3 +1,8 @@
+2012-05-15  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * ira.c (find_moveable_pseudos): Skip registers whose
+       DF_REG_EQ_USE_COUNT is nonzero.
+
 2012-05-15  Kenneth Zadeck  <zadeck@naturalbridge.com>
 
        * doc/md.texi (fma): Define to only be applicable for single
index 4d1ff0efb3a091929965833eb7de1fef08629e6c..c4e2aaac67538a0bf356a3d7a1956b5bc1414399 100644 (file)
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -3770,6 +3770,7 @@ find_moveable_pseudos (void)
            if (DF_REG_DEF_COUNT (regno) != 1
                || !DF_REF_INSN_INFO (def)
                || HARD_REGISTER_NUM_P (regno)
+               || DF_REG_EQ_USE_COUNT (regno) > 0
                || (!INTEGRAL_MODE_P (mode) && !FLOAT_MODE_P (mode)))
              continue;
            def_insn = DF_REF_INSN (def);