[llvm-commits] CVS: llvm/lib/VMCore/Pass.cpp

Brian Gaeke gaeke at niobe.cs.uiuc.edu
Tue Aug 12 12:23:01 PDT 2003


Changes in directory llvm/lib/VMCore:

Pass.cpp updated: 1.43 -> 1.44

---
Log message:

Add FunctionPassManager - it's like a PassManager, but it only deals in
FunctionPasses.


---
Diffs of the changes:

Index: llvm/lib/VMCore/Pass.cpp
diff -u llvm/lib/VMCore/Pass.cpp:1.43 llvm/lib/VMCore/Pass.cpp:1.44
--- llvm/lib/VMCore/Pass.cpp:1.43	Mon Jun 30 16:58:54 2003
+++ llvm/lib/VMCore/Pass.cpp	Tue Aug 12 12:22:37 2003
@@ -70,6 +70,16 @@
 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





More information about the llvm-commits mailing list