summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2016-07-27 23:35:53 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2016-07-27 23:35:53 +0000
commitff5ce639deb23595b4c4c9b995d6d6d47dda64fb (patch)
treed611d99b01d7880c96d1b2b7fb06f8f4903fc15b /llvm/lib
parentdbd35c44d4fe5e4f092ecdd2d2ca1c2205f7d2c1 (diff)
downloadbcm5719-llvm-ff5ce639deb23595b4c4c9b995d6d6d47dda64fb.tar.gz
bcm5719-llvm-ff5ce639deb23595b4c4c9b995d6d6d47dda64fb.zip
Add verifyAnalysis for LCSSA.
Summary: 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. Reviewers: chandlerc, sanjoy, hfinkel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D22888 llvm-svn: 276941
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/Utils/LCSSA.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp
index 0d5a25b8ebc..1c8990fcc78 100644
--- a/llvm/lib/Transforms/Utils/LCSSA.cpp
+++ b/llvm/lib/Transforms/Utils/LCSSA.cpp
@@ -315,6 +315,11 @@ struct LCSSAWrapperPass : public FunctionPass {
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,
OpenPOWER on IntegriCloud