]> 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:12:08 +0000 (20:12 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 13 Dec 2011 20:12:08 +0000 (20:12 +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: r182303

gcc/ChangeLog
gcc/regmove.c

index 34f81dfc2e54a2d7dbfcc4e7b703592f0650d7c0..f01c00de6ca3f6e3f6a0db99b2f79b4968067689 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-09  Kazu Hirata  <kazu@codesourcery.com>
 
        Backport from mainline:
index 8ce0ea00da71fb22b44ad1670b718de5fe8cfaac..d5f5c4d8452f4483c1d66b3fbe0fc18bff453cb9 100644 (file)
@@ -871,7 +871,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;
        }