Don't emit live ranges for physregs live-ins that are dead.
authorLang Hames <lhames@gmail.com>
Wed, 15 Feb 2012 01:31:10 +0000 (01:31 +0000)
committerLang Hames <lhames@gmail.com>
Wed, 15 Feb 2012 01:31:10 +0000 (01:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150553 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp

index d27b8e5fd9f5e135ac1424502623cc3b4fee1f95..f99f8cfbc9311a8963425497eeed25b7f4e1c3b8 100644 (file)
@@ -529,9 +529,10 @@ void LiveIntervals::handleLiveInRegister(MachineBasicBlock *MBB,
   if (!SeenDefUse) {
     if (isAllocatable(interval.reg) || isReserved(interval.reg)) {
       // This must be an entry block or landing pad - we asserted so on entry
-      // to the function. For these blocks the interval is dead on entry.
+      // to the function. For these blocks the interval is dead on entry, so
+      // we won't emit a live-range for it.
       DEBUG(dbgs() << " dead");
-      end = start.getDeadSlot();
+      return;
     } else {
       assert(isRegLiveOutOf(MBB, interval.reg) &&
              "Live in reg untouched in block should be be live through.");