]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
regmove.c (fixup_match_2): Only access call_used_regs with hard regs.
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Tue, 13 Dec 2011 20:19:34 +0000 (20:19 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 13 Dec 2011 20:19:34 +0000 (20:19 +0000)
2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* regmove.c (fixup_match_2): Only access call_used_regs with hard
regs.

From-SVN: r182305

gcc/ChangeLog
gcc/regmove.c

index 1a1a038fe680c4bb13e38d4bba319a0fb283e526..32f31498e0e7c0fb7269cc7c9859a1d19a5ce4c1 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * regmove.c (fixup_match_2): Only access call_used_regs with hard
+       regs.
+
 2011-12-12  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/51510
index 48a583fa2158f3ed826789e3946a75d464f0306a..9968599083ce2765c4d3ef4edd340922a802af46 100644 (file)
@@ -860,7 +860,7 @@ fixup_match_2 (rtx insn, rtx dst, rtx src, rtx offset)
          if (REG_N_CALLS_CROSSED (REGNO (src)) == 0)
            break;
 
-         if (call_used_regs [REGNO (dst)]
+         if ((HARD_REGISTER_P (dst) && call_used_regs [REGNO (dst)])
              || find_reg_fusage (p, CLOBBER, dst))
            break;
        }