It works in simple cases, but it isn't a general solution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103499
91177308-0d34-0410-b5e6-
96231b3b80d8
bool FPPassManager::runOnModule(Module &M) {
bool Changed = doInitialization(M);
- for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) {
- Function &F = *I;
- if (F.isMaterializable()) {
- std::string errstr;
- if (F.Materialize(&errstr))
- report_fatal_error("Error reading bitcode file: " + Twine(errstr));
- }
-
+ for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
runOnFunction(*I);
- }
return doFinalization(M) || Changed;
}