aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Pass.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Pass.h')
-rw-r--r--include/llvm/Pass.h23
1 files changed, 11 insertions, 12 deletions
diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h
index 251620c..dbe4852 100644
--- a/include/llvm/Pass.h
+++ b/include/llvm/Pass.h
@@ -138,18 +138,6 @@ struct FunctionPass : public Pass {
//
bool run(Function *F);
-protected:
- // doesNotModifyCFG - This function should be called by our subclasses to
- // implement the getAnalysisUsage virtual function, iff they do not:
- //
- // 1. Add or remove basic blocks from the function
- // 2. Modify terminator instructions in any way.
- //
- // This function annotates the AnalysisUsage info object to say that analyses
- // that only depend on the CFG are preserved by this pass.
- //
- void doesNotModifyCFG(AnalysisUsage &Info);
-
private:
friend class PassManagerT<Module>;
friend class PassManagerT<Function>;
@@ -277,6 +265,17 @@ public:
void setPreservesAll() { PreservesAll = true; }
bool preservesAll() const { return PreservesAll; }
+ // preservesCFG - This function should be called to by the pass, iff they do
+ // not:
+ //
+ // 1. Add or remove basic blocks from the function
+ // 2. Modify terminator instructions in any way.
+ //
+ // This function annotates the AnalysisUsage info object to say that analyses
+ // that only depend on the CFG are preserved by this pass.
+ //
+ void preservesCFG();
+
const std::vector<AnalysisID> &getRequiredSet() const { return Required; }
const std::vector<AnalysisID> &getPreservedSet() const { return Preserved; }
const std::vector<AnalysisID> &getProvidedSet() const { return Provided; }