[llvm-commits] [llvm] r74370 - /llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp

Chris Lattner sabre at nondot.org
Fri Jun 26 21:06:41 PDT 2009


Author: lattner
Date: Fri Jun 26 23:06:41 2009
New Revision: 74370

URL: http://llvm.org/viewvc/llvm-project?rev=74370&view=rev
Log:
When doing remat, don't consider uses of non-allocatable physregs.  Patch 
by Evan.

Modified:
    llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp

Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=74370&r1=74369&r2=74370&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)
+++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Fri Jun 26 23:06:41 2009
@@ -947,6 +947,10 @@
     unsigned Reg = MO.getReg();
     if (Reg == 0 || Reg == li.reg)
       continue;
+    
+    if (TargetRegisterInfo::isPhysicalRegister(Reg) &&
+        !allocatableRegs_[Reg])
+      continue;
     // FIXME: For now, only remat MI with at most one register operand.
     assert(!RegOp &&
            "Can't rematerialize instruction with multiple register operand!");





More information about the llvm-commits mailing list