From 03ef134aad950d444ba705a8d2dcb33466e9ad27 Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Tue, 6 Nov 2012 23:48:19 +0100 Subject: [PATCH] StripExternals only makes sense with GlobalDCE for cleanup afterwards. --- gen/optimizer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gen/optimizer.cpp b/gen/optimizer.cpp index d5845154..d01c3037 100644 --- a/gen/optimizer.cpp +++ b/gen/optimizer.cpp @@ -128,8 +128,10 @@ static inline void addPass(PassManagerBase& pm, Pass* pass) { } static void addStripExternalsPass(const PassManagerBuilder &builder, PassManagerBase &pm) { - if (builder.OptLevel >= 1) + if (builder.OptLevel >= 1) { addPass(pm, createStripExternalsPass()); + addPass(pm, createGlobalDCEPass()); + } } static void addSimplifyDRuntimeCallsPass(const PassManagerBuilder &builder, PassManagerBase &pm) {