From: Jakob Stoklund Olesen Date: Sat, 9 Jul 2011 01:02:44 +0000 (+0000) Subject: Oops, didn't mean to commit that. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4f4a6fcd165293c347a42b543e5e55aa42a09bb2;p=oota-llvm.git Oops, didn't mean to commit that. Spills should be hoisted out of loops, but we don't want to hoist them to dominating blocks at the same loop depth. That could cause the spills to be executed more often. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134782 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/InlineSpiller.cpp b/lib/CodeGen/InlineSpiller.cpp index 44e87ae9723..5547f735ba5 100644 --- a/lib/CodeGen/InlineSpiller.cpp +++ b/lib/CodeGen/InlineSpiller.cpp @@ -344,7 +344,7 @@ MachineInstr *InlineSpiller::traceSiblingValue(unsigned UseReg, VNInfo *UseVNI, // This is a valid spill location dominating UseVNI. // Prefer to spill at a smaller loop depth. unsigned Depth = Loops.getLoopDepth(MBB); - if (Depth <= SpillDepth) { + if (Depth < SpillDepth) { DEBUG(dbgs() << " spill depth " << Depth << ": " << PrintReg(Reg) << ':' << VNI->id << '@' << VNI->def << '\n'); SVI.SpillReg = Reg;