[llvm] r352958 - [LCSSA] Add expensive verification of LCSSA form for sub-loops.
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 2 06:42:27 PST 2019
Author: fhahn
Date: Sat Feb 2 06:42:27 2019
New Revision: 352958
URL: http://llvm.org/viewvc/llvm-project?rev=352958&view=rev
Log:
[LCSSA] Add expensive verification of LCSSA form for sub-loops.
This assertion makes sure all sub-loops are in LCSSA form before
bringing their parent in LCSSA form. This precondition was added to
formLCSSA in D56848.
Reviewers: davide, efriedma, mzolotukhin
Reviewed By: davide
Differential Revision: https://reviews.llvm.org/D56921
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=352958&r1=352957&r2=352958&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/LCSSA.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/LCSSA.cpp Sat Feb 2 06:42:27 2019
@@ -305,6 +305,12 @@ bool llvm::formLCSSA(Loop &L, DominatorT
ScalarEvolution *SE) {
bool Changed = false;
+#ifdef EXPENSIVE_CHECKS
+ // Verify all sub-loops are in LCSSA form already.
+ for (Loop *SubLoop: L)
+ assert(SubLoop->isRecursivelyLCSSAForm(DT, *LI) && "Subloop not in LCSSA!");
+#endif
+
SmallVector<BasicBlock *, 8> ExitBlocks;
L.getExitBlocks(ExitBlocks);
if (ExitBlocks.empty())
More information about the llvm-commits
mailing list