[PATCH] D22888: Add verifyAnalysis for LCSSA.
Michael Zolotukhin via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 27 15:25:22 PDT 2016
mzolotukhin created this revision.
mzolotukhin added reviewers: chandlerc, sanjoy, hfinkel.
mzolotukhin added a subscriber: llvm-commits.
LCSSAWrapperPass currently doesn't override verifyAnalysis method, so pass
manager doesn't verify LCSSA. This patch adds the method so that we start
verifying LCSSA between loop passes.
https://reviews.llvm.org/D22888
Files:
lib/Transforms/Utils/LCSSA.cpp
Index: lib/Transforms/Utils/LCSSA.cpp
===================================================================
--- lib/Transforms/Utils/LCSSA.cpp
+++ lib/Transforms/Utils/LCSSA.cpp
@@ -315,6 +315,11 @@
ScalarEvolution *SE;
bool runOnFunction(Function &F) override;
+ void verifyAnalysis() const override {
+ assert(
+ all_of(*LI, [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT); }) &&
+ "LCSSA form is broken!");
+ };
/// This transformation requires natural loop information & requires that
/// loop preheaders be inserted into the CFG. It maintains both of these,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22888.65818.patch
Type: text/x-patch
Size: 602 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160727/621f5fb7/attachment.bin>
More information about the llvm-commits
mailing list