mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
Implement top level FunctionPassManager::run(Function &F)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32381 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a083e94f79
commit
c475692c5e
@ -401,6 +401,7 @@ public:
|
|||||||
/// so, return true.
|
/// so, return true.
|
||||||
bool runOnModule(Module &M);
|
bool runOnModule(Module &M);
|
||||||
bool runOnFunction(Function &F);
|
bool runOnFunction(Function &F);
|
||||||
|
bool run(Function &F);
|
||||||
|
|
||||||
/// doInitialization - Run all of the initializers for the function passes.
|
/// doInitialization - Run all of the initializers for the function passes.
|
||||||
///
|
///
|
||||||
@ -800,7 +801,7 @@ bool FunctionPassManager_New::run(Function &F) {
|
|||||||
cerr << "Error reading bytecode file: " << errstr << "\n";
|
cerr << "Error reading bytecode file: " << errstr << "\n";
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
return FPM->runOnFunction(F);
|
return FPM->run(F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -934,6 +935,19 @@ inline bool FunctionPassManagerImpl_New::doFinalization(Module &M) {
|
|||||||
return Changed;
|
return Changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Execute all the passes managed by this top level manager.
|
||||||
|
// Return true if any function is modified by a pass.
|
||||||
|
bool FunctionPassManagerImpl_New::run(Function &F) {
|
||||||
|
|
||||||
|
bool Changed = false;
|
||||||
|
for (std::vector<Pass *>::iterator I = passManagersBegin(),
|
||||||
|
E = passManagersEnd(); I != E; ++I) {
|
||||||
|
FunctionPass *FP = dynamic_cast<FunctionPass *>(*I);
|
||||||
|
Changed |= FP->runOnFunction(F);
|
||||||
|
}
|
||||||
|
return Changed;
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// ModulePassManager implementation
|
// ModulePassManager implementation
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user