From 865ae79e273f14cd4948d82e564aa4cfd9c28fe1 Mon Sep 17 00:00:00 2001 From: Frits van Bommel Date: Sun, 3 May 2009 20:16:15 +0200 Subject: [PATCH] Strip metadata even when addPassesForOptLevel() isn't called, for instance when only inlining or when manually specifying passes. --- gen/optimizer.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gen/optimizer.cpp b/gen/optimizer.cpp index 69c21fbe..967c856e 100644 --- a/gen/optimizer.cpp +++ b/gen/optimizer.cpp @@ -156,13 +156,6 @@ static void addPassesForOptLevel(PassManager& pm) { } #endif } -#ifdef USE_METADATA - if (!disableStripMetaData) { - // This one is purposely not disabled by disableLangSpecificPasses - // because the code generator will assert if it's not used. - pm.add(createStripMetaData()); - } -#endif // -O3 if (optimizeLevel >= 3) @@ -252,6 +245,14 @@ bool ldc_optimize_module(llvm::Module* m) if (optimize) addPassesForOptLevel(pm); +#ifdef USE_METADATA + if (!disableStripMetaData) { + // This one is purposely not disabled by disableLangSpecificPasses + // because the code generator will assert if it's not used. + pm.add(createStripMetaData()); + } +#endif + pm.run(*m); return true; }