From 84f454ec5c1e1d255428b26d5c7b2d60bbf1787d Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Wed, 15 Feb 2012 01:31:10 +0000 Subject: Don't emit live ranges for physregs live-ins that are dead. llvm-svn: 150553 --- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/LiveIntervalAnalysis.cpp') diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index d27b8e5fd9f..f99f8cfbc93 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -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."); -- cgit v1.2.3