a previous patch completely disabled trivial unswitching, this fixees it.
authorChris Lattner <sabre@nondot.org>
Sat, 18 Feb 2006 01:32:04 +0000 (01:32 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 18 Feb 2006 01:32:04 +0000 (01:32 +0000)
Thanks to nate for pointing this out :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26280 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopUnswitch.cpp

index 25c16199b51d9c26bddc1f6d9f6e7dfe1addb959..8713631c348086f9cf020b9647e23f919642e965 100644 (file)
@@ -168,7 +168,6 @@ static bool isTrivialLoopExitBlockHelper(Loop *L, BasicBlock *BB,
 static BasicBlock *isTrivialLoopExitBlock(Loop *L, BasicBlock *BB) {
   std::set<BasicBlock*> Visited;
   Visited.insert(L->getHeader());  // Branches to header are ok.
-  Visited.insert(BB);              // Don't revisit BB after we do.
   BasicBlock *ExitBB = 0;
   if (isTrivialLoopExitBlockHelper(L, BB, ExitBB, Visited))
     return ExitBB;