From 38b6e8382a44d300b76cfd859e220ca63f5a1fff Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 2 Aug 2006 00:16:47 +0000 Subject: Add special check to avoid isLoop call. Simple, but doesn't seem to speed up lcssa much in practice. llvm-svn: 29465 --- llvm/lib/Transforms/Utils/LCSSA.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Transforms/Utils/LCSSA.cpp') diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp index 43c9678cd0b..21f93526373 100644 --- a/llvm/lib/Transforms/Utils/LCSSA.cpp +++ b/llvm/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; } -- cgit v1.2.3