aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2012-05-15 02:03:01 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2012-05-15 02:03:01 +0000
commitaa44c80c8f41928efa6c8ccaeaadf6e602925e3b (patch)
treefbe0011956eff9b42934617e263ded667a449c9e
parentd637330254411ed30090827e272d0b156c554f41 (diff)
downloadgcc-aa44c80c8f41928efa6c8ccaeaadf6e602925e3b.zip
gcc-aa44c80c8f41928efa6c8ccaeaadf6e602925e3b.tar.gz
gcc-aa44c80c8f41928efa6c8ccaeaadf6e602925e3b.tar.bz2
ira.c (find_moveable_pseudos): Skip registers whose DF_REG_EQ_USE_COUNT is nonzero.
* ira.c (find_moveable_pseudos): Skip registers whose DF_REG_EQ_USE_COUNT is nonzero. From-SVN: r187495
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ira.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0c95754..df9f0dc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/ira.c b/gcc/ira.c
index 4d1ff0e..c4e2aaa 100644
--- 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);