[llvm] r300244 - [LCSSA] Assert that we always have a valid loop.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 13 13:05:37 PDT 2017


Author: davide
Date: Thu Apr 13 15:05:37 2017
New Revision: 300244

URL: http://llvm.org/viewvc/llvm-project?rev=300244&view=rev
Log:
[LCSSA] Assert that we always have a valid loop.

We could otherwise add BBs not belonging to a loop in `formLCSSA`
and later crash when trying to iterate the loop blocks.

Modified:
    llvm/trunk/lib/Transforms/Utils/LCSSA.cpp

Modified: llvm/trunk/lib/Transforms/Utils/LCSSA.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/LCSSA.cpp?rev=300244&r1=300243&r2=300244&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/LCSSA.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/LCSSA.cpp Thu Apr 13 15:05:37 2017
@@ -87,6 +87,7 @@ bool llvm::formLCSSAForInstructions(Smal
     Instruction *I = Worklist.pop_back_val();
     BasicBlock *InstBB = I->getParent();
     Loop *L = LI.getLoopFor(InstBB);
+    assert(L && "Instruction belongs to a BB that's not part of a loop");
     if (!LoopExitBlocks.count(L))
       L->getExitBlocks(LoopExitBlocks[L]);
     assert(LoopExitBlocks.count(L));




More information about the llvm-commits mailing list