[llvm-commits] [llvm] r159015 - /llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Jun 22 10:49:44 PDT 2012


Author: stoklund
Date: Fri Jun 22 12:49:44 2012
New Revision: 159015

URL: http://llvm.org/viewvc/llvm-project?rev=159015&view=rev
Log:
Remove some redundant LIS->hasInterval() checks.

These functions only operate on virtual registers now, and they all have
live ranges.

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

Modified: llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp?rev=159015&r1=159014&r2=159015&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp (original)
+++ llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp Fri Jun 22 12:49:44 2012
@@ -398,11 +398,6 @@
   assert(!CP.isPartial() && "This doesn't work for partial copies.");
   assert(!CP.isPhys() && "This doesn't work for physreg copies.");
 
-  // Bail if there is no dst interval - can happen when merging physical subreg
-  // operations.
-  if (!LIS->hasInterval(CP.getDstReg()))
-    return false;
-
   LiveInterval &IntA =
     LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
   LiveInterval &IntB =
@@ -464,19 +459,6 @@
   // two value numbers.
   IntB.addRange(LiveRange(FillerStart, FillerEnd, BValNo));
 
-  // If the IntB live range is assigned to a physical register, and if that
-  // physreg has sub-registers, update their live intervals as well.
-  if (TargetRegisterInfo::isPhysicalRegister(IntB.reg)) {
-    for (MCSubRegIterator SR(IntB.reg, TRI); SR.isValid(); ++SR) {
-      if (!LIS->hasInterval(*SR))
-        continue;
-      LiveInterval &SRLI = LIS->getInterval(*SR);
-      SRLI.addRange(LiveRange(FillerStart, FillerEnd,
-                              SRLI.getNextValue(FillerStart,
-                                                LIS->getVNInfoAllocator())));
-    }
-  }
-
   // Okay, merge "B1" into the same value number as "B0".
   if (BValNo != ValLR->valno) {
     // If B1 is killed by a PHI, then the merged live range must also be killed
@@ -558,10 +540,6 @@
                                                  MachineInstr *CopyMI) {
   assert (!CP.isPhys());
 
-  // Bail if there is no dst interval.
-  if (!LIS->hasInterval(CP.getDstReg()))
-    return false;
-
   SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot();
 
   LiveInterval &IntA =





More information about the llvm-commits mailing list