aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-12-12 23:15:28 +0000
committerDevang Patel <dpatel@apple.com>2006-12-12 23:15:28 +0000
commit1fbe2c9964d57b2a58235541175f069ae491a95e (patch)
tree5c7dcd46d0717b2ce7bfdab93a17fca5e63c07bf
parent41545fd66316776e670deac302672c3d9acef2a2 (diff)
downloadexternal_llvm-1fbe2c9964d57b2a58235541175f069ae491a95e.zip
external_llvm-1fbe2c9964d57b2a58235541175f069ae491a95e.tar.gz
external_llvm-1fbe2c9964d57b2a58235541175f069ae491a95e.tar.bz2
Do not runOnFunction on external functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32510 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/VMCore/PassManager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 06f7af8..f8bfe59 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(),