From f9ba401bf5eddc5ca6282766682116e922f092d7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 2 Aug 2006 00:16:47 +0000 Subject: [PATCH] Add special check to avoid isLoop call. Simple, but doesn't seem to speed up lcssa much in practice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29465 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/LCSSA.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Transforms/Utils/LCSSA.cpp b/lib/Transforms/Utils/LCSSA.cpp index 43c9678cd0b..21f93526373 100644 --- a/lib/Transforms/Utils/LCSSA.cpp +++ b/lib/Transforms/Utils/LCSSA.cpp @@ -177,7 +177,7 @@ void LCSSA::ProcessInstruction(Instruction *Instr, } // If the user is in the loop, don't rewrite it! - if (inLoop(UserBB)) { + if (UserBB == Instr->getParent() || inLoop(UserBB)) { ++UI; continue; } @@ -215,7 +215,7 @@ SetVector LCSSA::getLoopValuesUsedOutsideLoop(Loop *L) { UserBB = p->getIncomingBlock(OperandNo/2); } - if (!inLoop(UserBB)) { + if (*BB != UserBB && !inLoop(UserBB)) { AffectedValues.insert(I); break; }