Changes in directory llvm/include/llvm:
PassManager.h updated: 1.15 -> 1.16 --- Log message: Add BasicBlockPassManager_New. --- Diffs of the changes: (+23 -0) PassManager.h | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+) Index: llvm/include/llvm/PassManager.h diff -u llvm/include/llvm/PassManager.h:1.15 llvm/include/llvm/PassManager.h:1.16 --- llvm/include/llvm/PassManager.h:1.15 Sun Sep 3 23:07:39 2006 +++ llvm/include/llvm/PassManager.h Tue Nov 7 15:31:57 2006 @@ -17,6 +17,9 @@ #ifndef LLVM_PASSMANAGER_H #define LLVM_PASSMANAGER_H +#include "llvm/Pass.h" +#include <vector> + namespace llvm { class Pass; @@ -85,6 +88,26 @@ bool doFinalization(); }; +/// BasicBlockpassManager_New manages BasicBlockPass. It batches all the +/// pass together and sequence them to process one basic block before +/// processing next basic block. +class BasicBlockPassManager_New: public Pass { + +public: + BasicBlockPassManager_New() { } + + /// Add a pass into a passmanager queue. + bool addPass(Pass *p); + + /// Execute all of the passes scheduled for execution. Keep track of + /// whether any of the passes modifies the function, and if so, return true. + bool runOnFunction(Function &F); + +private: + // Collection of pass that are not yet scheduled + std::vector<Pass *> PassVector; +}; + } // End llvm namespace #endif _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits