diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2003-08-12 17:22:39 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2003-08-12 17:22:39 +0000 |
commit | 8ab1ef265a6547ab13c10a26c994610bd3ad9d9e (patch) | |
tree | d7918240cc1a0fb35cca4aec6e72e356b6d17c62 /lib/VMCore/Pass.cpp | |
parent | 20a3be3ba832947d1dc5e6b26ae68335a7914aff (diff) | |
download | external_llvm-8ab1ef265a6547ab13c10a26c994610bd3ad9d9e.tar.gz external_llvm-8ab1ef265a6547ab13c10a26c994610bd3ad9d9e.tar.bz2 external_llvm-8ab1ef265a6547ab13c10a26c994610bd3ad9d9e.zip |
Add FunctionPassManager - it's like a PassManager, but it only deals in
FunctionPasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7778 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Pass.cpp')
-rw-r--r-- | lib/VMCore/Pass.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/VMCore/Pass.cpp b/lib/VMCore/Pass.cpp index ec193debfa..6535d10467 100644 --- a/lib/VMCore/Pass.cpp +++ b/lib/VMCore/Pass.cpp @@ -70,6 +70,16 @@ PassManager::~PassManager() { delete PM; } void PassManager::add(Pass *P) { PM->add(P); } bool PassManager::run(Module &M) { return PM->run(M); } +//===----------------------------------------------------------------------===// +// FunctionPassManager implementation - The FunctionPassManager class +// is a simple Pimpl class that wraps the PassManagerT template. It +// is like PassManager, but only deals in FunctionPasses. +// +FunctionPassManager::FunctionPassManager() : PM(new PassManagerT<Function>()) {} +FunctionPassManager::~FunctionPassManager() { delete PM; } +void FunctionPassManager::add(FunctionPass *P) { PM->add(P); } +bool FunctionPassManager::run(Function &F) { return PM->run(F); } + //===----------------------------------------------------------------------===// // TimingInfo Class - This class is used to calculate information about the |