Do not runOnFunction on external functions.
authorDevang Patel <dpatel@apple.com>
Tue, 12 Dec 2006 23:15:28 +0000 (23:15 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 12 Dec 2006 23:15:28 +0000 (23:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32510 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index 06f7af86bba05c8c6668ae9b9e345b9d1437fbd6..f8bfe59dd94989d29c51d6173e80cb4f3668277c 100644 (file)
@@ -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(),