summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/ExtractFunction.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-05-21 19:41:31 +0000
committerChris Lattner <sabre@nondot.org>2003-05-21 19:41:31 +0000
commit2b3ab562f6bf8a6917a27cca152060fa3e82a8d0 (patch)
treec790d73a31a45f1f507f4fd1ec5a891461632cfc /llvm/tools/bugpoint/ExtractFunction.cpp
parentc42dc745db2aebc0c24b0258e552f924c9cda063 (diff)
downloadbcm5719-llvm-2b3ab562f6bf8a6917a27cca152060fa3e82a8d0.tar.gz
bcm5719-llvm-2b3ab562f6bf8a6917a27cca152060fa3e82a8d0.zip
Increase odds that this won't bork things
llvm-svn: 6267
Diffstat (limited to 'llvm/tools/bugpoint/ExtractFunction.cpp')
-rw-r--r--llvm/tools/bugpoint/ExtractFunction.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/bugpoint/ExtractFunction.cpp b/llvm/tools/bugpoint/ExtractFunction.cpp
index 452ddbc24d8..ac893629fb5 100644
--- a/llvm/tools/bugpoint/ExtractFunction.cpp
+++ b/llvm/tools/bugpoint/ExtractFunction.cpp
@@ -78,6 +78,11 @@ Module *BugDriver::deleteInstructionFromProgram(Instruction *I,
///
Module *BugDriver::performFinalCleanups() const {
Module *M = CloneModule(Program);
+
+ // Make all functions external, so GlobalDCE doesn't delete them...
+ for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I)
+ I->setLinkage(GlobalValue::ExternalLinkage);
+
PassManager CleanupPasses;
CleanupPasses.add(createFunctionResolvingPass());
CleanupPasses.add(createGlobalDCEPass());
OpenPOWER on IntegriCloud