summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-08-25 01:00:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-08-25 01:00:36 +0000
commitf066b2fe9917d5972e706b028f4b133249bae4ad (patch)
tree4d4d59ed57a9e17ed8f086f0b4577d51c5940e73 /llvm
parent5be8a4d1049761eadc3169af8451880c3c0eb56a (diff)
downloadbcm5719-llvm-f066b2fe9917d5972e706b028f4b133249bae4ad.tar.gz
bcm5719-llvm-f066b2fe9917d5972e706b028f4b133249bae4ad.zip
Add a command line option to disable global merge pass.
llvm-svn: 138536
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp7
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;
OpenPOWER on IntegriCloud