diff options
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetMachine.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp index b006b0e2633..39552aca008 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -21,6 +21,11 @@  #include "llvm/Target/TargetOptions.h"  using namespace llvm; +static cl::opt<bool> +EnableGlobalMerge("global-merge", +                  cl::desc("Enable global merge pass"), +                  cl::init(true)); +  extern "C" void LLVMInitializeARMTarget() {    // Register the target.    RegisterTargetMachine<ARMTargetMachine> X(TheARMTarget); @@ -83,7 +88,7 @@ ThumbTargetMachine::ThumbTargetMachine(const Target &T, StringRef TT,  bool ARMBaseTargetMachine::addPreISel(PassManagerBase &PM,                                        CodeGenOpt::Level OptLevel) { -  if (OptLevel != CodeGenOpt::None) +  if (OptLevel != CodeGenOpt::None && EnableGlobalMerge)      PM.add(createARMGlobalMergePass(getTargetLowering()));    return false;  | 

