[llvm-commits] [llvm] r160888 - in /llvm/trunk: lib/CodeGen/ExpandPostRAPseudos.cpp test/CodeGen/X86/liveness-local-regalloc.ll

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Jul 27 13:19:49 PDT 2012


Author: stoklund
Date: Fri Jul 27 15:19:49 2012
New Revision: 160888

URL: http://llvm.org/viewvc/llvm-project?rev=160888&view=rev
Log:
Add <imp-def> of super-register when lowering SUBREG_TO_REG.

Patch by Tyler Nowicki!

Modified:
    llvm/trunk/lib/CodeGen/ExpandPostRAPseudos.cpp
    llvm/trunk/test/CodeGen/X86/liveness-local-regalloc.ll

Modified: llvm/trunk/lib/CodeGen/ExpandPostRAPseudos.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ExpandPostRAPseudos.cpp?rev=160888&r1=160887&r2=160888&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/ExpandPostRAPseudos.cpp (original)
+++ llvm/trunk/lib/CodeGen/ExpandPostRAPseudos.cpp Fri Jul 27 15:19:49 2012
@@ -131,13 +131,16 @@
   } else {
     TII->copyPhysReg(*MBB, MI, MI->getDebugLoc(), DstSubReg, InsReg,
                      MI->getOperand(2).isKill());
+
+    // Implicitly define DstReg for subsequent uses.
+    MachineBasicBlock::iterator CopyMI = MI;
+    --CopyMI;
+    CopyMI->addRegisterDefined(DstReg);
+
     // Transfer the kill/dead flags, if needed.
     if (MI->getOperand(0).isDead())
       TransferDeadFlag(MI, DstSubReg, TRI);
-    DEBUG({
-        MachineBasicBlock::iterator dMI = MI;
-        dbgs() << "subreg: " << *(--dMI);
-      });
+    DEBUG(dbgs() << "subreg: " << *CopyMI);
   }
 
   DEBUG(dbgs() << '\n');

Modified: llvm/trunk/test/CodeGen/X86/liveness-local-regalloc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/liveness-local-regalloc.ll?rev=160888&r1=160887&r2=160888&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/liveness-local-regalloc.ll (original)
+++ llvm/trunk/test/CodeGen/X86/liveness-local-regalloc.ll Fri Jul 27 15:19:49 2012
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mcpu=generic -regalloc=fast -optimize-regalloc=0 -verify-machineinstrs -mtriple=x86_64-apple-darwin10
+; RUN: llc < %s -regalloc=fast -optimize-regalloc=0 -verify-machineinstrs -mtriple=x86_64-apple-darwin10
 ; <rdar://problem/7755473>
 ; PR12821
 





More information about the llvm-commits mailing list