summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/Analysis/LoopPass.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/Analysis/LoopPass.h')
-rw-r--r--llvm/include/llvm/Analysis/LoopPass.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/include/llvm/Analysis/LoopPass.h b/llvm/include/llvm/Analysis/LoopPass.h
index a4043fb32a6..496ae189e57 100644
--- a/llvm/include/llvm/Analysis/LoopPass.h
+++ b/llvm/include/llvm/Analysis/LoopPass.h
@@ -155,6 +155,22 @@ private:
Loop *CurrentLoop;
};
+// This pass is required by the LCSSA transformation. It is used inside
+// LPPassManager to check if current pass preserves LCSSA form, and if it does
+// pass manager calls lcssa verification for the current loop.
+struct LCSSAVerificationPass : public FunctionPass {
+ static char ID;
+ LCSSAVerificationPass() : FunctionPass(ID) {
+ initializeLCSSAVerificationPassPass(*PassRegistry::getPassRegistry());
+ }
+
+ bool runOnFunction(Function &F) override { return false; }
+
+ void getAnalysisUsage(AnalysisUsage &AU) const override {
+ AU.setPreservesAll();
+ }
+};
+
} // End llvm namespace
#endif
OpenPOWER on IntegriCloud