diff options
| author | Jiangning Liu <jiangning.liu@arm.com> | 2014-04-22 03:33:26 +0000 |
|---|---|---|
| committer | Jiangning Liu <jiangning.liu@arm.com> | 2014-04-22 03:33:26 +0000 |
| commit | 87486e0bac1c0f547741cf91a391ef35eac4578a (patch) | |
| tree | 5ba4c7aa6041bd476b3ca3ed5f4185cc69f8f630 /llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | |
| parent | b3380ea60a3688e64bf6843553fa0c07363fdf76 (diff) | |
| download | bcm5719-llvm-87486e0bac1c0f547741cf91a391ef35eac4578a.tar.gz bcm5719-llvm-87486e0bac1c0f547741cf91a391ef35eac4578a.zip | |
[AArch64] Enable global merge pass.
llvm-svn: 206861
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64TargetMachine.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp index d9c990d7d56..844e8ab2195 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp +++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -19,6 +19,7 @@ #include "llvm/CodeGen/Passes.h" #include "llvm/PassManager.h" #include "llvm/Support/TargetRegistry.h" +#include "llvm/Transforms/Scalar.h" using namespace llvm; @@ -86,11 +87,19 @@ public: return *getAArch64TargetMachine().getSubtargetImpl(); } + bool addPreISel() override; virtual bool addInstSelector(); virtual bool addPreEmitPass(); }; } // namespace +bool AArch64PassConfig::addPreISel() { + if (TM->getOptLevel() != CodeGenOpt::None) + addPass(createGlobalMergePass(TM)); + + return false; +} + TargetPassConfig *AArch64TargetMachine::createPassConfig(PassManagerBase &PM) { return new AArch64PassConfig(this, PM); } |

