OSDN Git Service

Don't attempt trivial coalescing for sub-register copies.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 19 Nov 2010 05:45:24 +0000 (05:45 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 19 Nov 2010 05:45:24 +0000 (05:45 +0000)
Patch by Krister Wombell!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119791 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocLinearScan.cpp

index c0720fe..ac5143b 100644 (file)
@@ -466,6 +466,10 @@ unsigned RALinScan::attemptTrivialCoalescing(LiveInterval &cur, unsigned Reg) {
       CandReg = CopyMI->getOperand(0).getReg();
     else
       return Reg;
+
+    // If the target of the copy is a sub-register then don't coalesce.
+    if(CopyMI->getOperand(0).getSubReg())
+      return Reg;
   }
 
   if (TargetRegisterInfo::isVirtualRegister(CandReg)) {