diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LoopPass.h | 5 | ||||
-rw-r--r-- | include/llvm/Pass.h | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/llvm/Analysis/LoopPass.h b/include/llvm/Analysis/LoopPass.h index 5926610d1a..9ca55053f5 100644 --- a/include/llvm/Analysis/LoopPass.h +++ b/include/llvm/Analysis/LoopPass.h @@ -81,6 +81,11 @@ public: /// deleteAnalysisValue - Delete analysis info associated with value V. virtual void deleteAnalysisValue(Value *V, Loop *L) {} + +protected: + /// skipOptnoneFunction - Containing function has Attribute::OptimizeNone + /// and most transformation passes should skip it. + bool skipOptnoneFunction(Loop *L) const; }; class LPPassManager : public FunctionPass, public PMDataManager { diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 35ec022516..e16144397c 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -307,6 +307,11 @@ public: /// Return what kind of Pass Manager can manage this pass. virtual PassManagerType getPotentialPassManagerType() const; + +protected: + /// skipOptnoneFunction - This function has Attribute::OptimizeNone + /// and most transformation passes should skip it. + bool skipOptnoneFunction(Function &F) const; }; @@ -351,6 +356,11 @@ public: /// Return what kind of Pass Manager can manage this pass. virtual PassManagerType getPotentialPassManagerType() const; + +protected: + /// skipOptnoneFunction - Containing function has Attribute::OptimizeNone + /// and most transformation passes should skip it. + bool skipOptnoneFunction(BasicBlock &BB) const; }; /// If the user specifies the -time-passes argument on an LLVM tool command line |