diff options
author | Cameron Zwarich <zwarich@apple.com> | 2013-02-14 03:25:24 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2013-02-14 03:25:24 +0000 |
commit | 1f258a6d53b29f6dfb60436da4aa76e996644d84 (patch) | |
tree | 054bfe6eacdbbcc14082d6eaac4c7119885c1e95 /lib/CodeGen/RegisterCoalescer.cpp | |
parent | a94d32284a00c544332464dd6b1efa65b1224ea3 (diff) | |
download | llvm-1f258a6d53b29f6dfb60436da4aa76e996644d84.tar.gz llvm-1f258a6d53b29f6dfb60436da4aa76e996644d84.tar.bz2 llvm-1f258a6d53b29f6dfb60436da4aa76e996644d84.tar.xz |
RegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
register class to match the defining instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175130 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterCoalescer.cpp')
-rw-r--r-- | lib/CodeGen/RegisterCoalescer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/RegisterCoalescer.cpp b/lib/CodeGen/RegisterCoalescer.cpp index 07ae8a2e3a..e2488adcdc 100644 --- a/lib/CodeGen/RegisterCoalescer.cpp +++ b/lib/CodeGen/RegisterCoalescer.cpp @@ -769,7 +769,7 @@ bool RegisterCoalescer::reMaterializeTrivialDef(CoalescerPair &CP, // extract_subreg, insert_subreg, subreg_to_reg coalescing. const TargetRegisterClass *RC = TII->getRegClass(MCID, 0, TRI, *MF); if (TargetRegisterInfo::isVirtualRegister(DstReg)) { - if (MRI->getRegClass(DstReg) != RC) + if (!MRI->constrainRegClass(DstReg, RC)) return false; } else if (!RC->contains(DstReg)) return false; |