From: Tim Northover Date: Tue, 18 Feb 2014 11:17:29 +0000 (+0000) Subject: GlobalMerge: move "-global-merge" option to the pass itself. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4bcb9852959dd9373ea9591df9aaffb5a6c9e08e;p=oota-llvm.git GlobalMerge: move "-global-merge" option to the pass itself. It's rather odd to have the flag enabling and disabling this pass only affect a single target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201559 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index 718311ba1de..c6ec6fb433e 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -23,11 +23,6 @@ #include "llvm/Transforms/Scalar.h" using namespace llvm; -static cl::opt -EnableGlobalMerge("global-merge", cl::Hidden, - cl::desc("Enable global merge pass"), - cl::init(true)); - static cl::opt DisableA15SDOptimization("disable-a15-sd-optimization", cl::Hidden, cl::desc("Inhibit optimization of S->D register accesses on A15"), @@ -184,7 +179,7 @@ TargetPassConfig *ARMBaseTargetMachine::createPassConfig(PassManagerBase &PM) { } bool ARMPassConfig::addPreISel() { - if (TM->getOptLevel() != CodeGenOpt::None && EnableGlobalMerge) + if (TM->getOptLevel() != CodeGenOpt::None) addPass(createGlobalMergePass(TM)); return false; diff --git a/lib/Transforms/Scalar/GlobalMerge.cpp b/lib/Transforms/Scalar/GlobalMerge.cpp index 954e5459810..a15cc84cfd1 100644 --- a/lib/Transforms/Scalar/GlobalMerge.cpp +++ b/lib/Transforms/Scalar/GlobalMerge.cpp @@ -70,6 +70,11 @@ #include "llvm/Target/TargetLoweringObjectFile.h" using namespace llvm; +static cl::opt +EnableGlobalMerge("global-merge", cl::Hidden, + cl::desc("Enable global merge pass"), + cl::init(true)); + static cl::opt EnableGlobalMergeOnConst("global-merge-on-const", cl::Hidden, cl::desc("Enable global merge pass on constants"), @@ -231,6 +236,9 @@ void GlobalMerge::setMustKeepGlobalVariables(Module &M) { } bool GlobalMerge::doInitialization(Module &M) { + if (!EnableGlobalMerge) + return false; + DenseMap > Globals, ConstGlobals, BSSGlobals; const TargetLowering *TLI = TM->getTargetLowering();