diff options
-rw-r--r-- | lib/VMCore/PassManager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 06f7af86bb..f8bfe59dd9 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -761,6 +761,9 @@ BasicBlockPassManager_New::addPass(Pass *P) { bool BasicBlockPassManager_New::runOnFunction(Function &F) { + if (F.isExternal()) + return false; + bool Changed = doInitialization(F); initializeAnalysisInfo(); @@ -972,6 +975,10 @@ bool FunctionPassManagerImpl_New::runOnModule(Module &M) { bool FunctionPassManagerImpl_New::runOnFunction(Function &F) { bool Changed = false; + + if (F.isExternal()) + return false; + initializeAnalysisInfo(); for (std::vector<Pass *>::iterator itr = passVectorBegin(), |