class PassManagerImpl_New;
class FunctionPassManagerImpl_New;
-/// PassManagerAnalysisHelper helps pass manager analysis required by
+/// CommonPassManagerImpl helps pass manager analysis required by
/// the managed passes. It provides methods to add/remove analysis
/// available and query if certain analysis is available or not.
-class PassManagerAnalysisHelper {
+class CommonPassManagerImpl : public Pass{
public:
};
/// PassManager_New manages ModulePassManagers
-class PassManager_New : public Pass,
- public PassManagerAnalysisHelper {
+class PassManager_New : public CommonPassManagerImpl {
public:
};
/// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers.
-class FunctionPassManager_New : public Pass,
- public PassManagerAnalysisHelper {
+class FunctionPassManager_New : public CommonPassManagerImpl {
public:
FunctionPassManager_New(ModuleProvider *P) { /* TODO */ }
FunctionPassManager_New();
/// 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 PassManagerAnalysisHelper {
+class BasicBlockPassManager_New : public CommonPassManagerImpl {
public:
BasicBlockPassManager_New() { }
/// It batches all function passes and basic block pass managers together and
/// sequence them to process one function at a time before processing next
/// function.
-class FunctionPassManagerImpl_New : public Pass,
- public PassManagerAnalysisHelper {
+class FunctionPassManagerImpl_New : public CommonPassManagerImpl {
public:
FunctionPassManagerImpl_New(ModuleProvider *P) { /* TODO */ }
FunctionPassManagerImpl_New() {
/// ModulePassManager_New manages ModulePasses and function pass managers.
/// It batches all Module passes passes and function pass managers together and
/// sequence them to process one module.
-class ModulePassManager_New : public Pass,
- public PassManagerAnalysisHelper {
+class ModulePassManager_New : public CommonPassManagerImpl {
public:
ModulePassManager_New() { activeFunctionPassManager = NULL; }
};
/// PassManager_New manages ModulePassManagers
-class PassManagerImpl_New : public Pass,
- public PassManagerAnalysisHelper {
+class PassManagerImpl_New : public CommonPassManagerImpl {
public:
} // End of llvm namespace
-// PassManagerAnalysisHelper implementation
+// CommonPassManagerImpl implementation
/// Return true IFF pass P's required analysis set does not required new
/// manager.
-bool PassManagerAnalysisHelper::manageablePass(Pass *P) {
+bool CommonPassManagerImpl::manageablePass(Pass *P) {
AnalysisUsage AnUsage;
P->getAnalysisUsage(AnUsage);
}
/// Return true IFF AnalysisID AID is currently available.
-bool PassManagerAnalysisHelper::analysisCurrentlyAvailable(AnalysisID AID) {
+bool CommonPassManagerImpl::analysisCurrentlyAvailable(AnalysisID AID) {
// TODO
return false;
}
/// Augment RequiredSet by adding analysis required by pass P.
-void PassManagerAnalysisHelper::noteDownRequiredAnalysis(Pass *P) {
+void CommonPassManagerImpl::noteDownRequiredAnalysis(Pass *P) {
// TODO
}
/// Remove AnalysisID from the RequiredSet
-void PassManagerAnalysisHelper::removeAnalysis(AnalysisID AID) {
+void CommonPassManagerImpl::removeAnalysis(AnalysisID AID) {
// TODO
}
/// Remove Analyss not preserved by Pass P
-void PassManagerAnalysisHelper::removeNotPreservedAnalysis(Pass *P) {
+void CommonPassManagerImpl::removeNotPreservedAnalysis(Pass *P) {
// TODO
}