Don't try to materialize a function that isn't materializable anyways. This

fixes a crash using FPM on a Function that isn't owned by a Module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96273 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky 2010-02-15 21:27:56 +00:00
parent 936c43bb23
commit c638088d6f

View File

@ -1220,9 +1220,11 @@ void FunctionPassManager::add(Pass *P) {
/// so, return true.
///
bool FunctionPassManager::run(Function &F) {
std::string errstr;
if (F.Materialize(&errstr)) {
llvm_report_error("Error reading bitcode file: " + errstr);
if (F.isMaterializable()) {
std::string errstr;
if (F.Materialize(&errstr)) {
llvm_report_error("Error reading bitcode file: " + errstr);
}
}
return FPM->run(F);
}