diff options
author | James Molloy <james.molloy@arm.com> | 2014-05-16 14:11:38 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2014-05-16 14:11:38 +0000 |
commit | 92a15078f141463fee01dabc9b1236bfcebc041e (patch) | |
tree | 0c03da440392c0a8e9911dc1d862c2004817a3ad /llvm/lib/Target/ARM/ARMTargetMachine.cpp | |
parent | bb73c23ffab38b73aa3ac2c9f003db73712511d1 (diff) | |
download | bcm5719-llvm-92a15078f141463fee01dabc9b1236bfcebc041e.tar.gz bcm5719-llvm-92a15078f141463fee01dabc9b1236bfcebc041e.zip |
Enable the Load/Store optimization pass for Thumb1 but make it return immediately for now.
Patch by Moritz Roth!
llvm-svn: 208991
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMTargetMachine.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp index 91e22dc16fc..887622705ed 100644 --- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp +++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp @@ -247,8 +247,7 @@ bool ARMPassConfig::addInstSelector() { } bool ARMPassConfig::addPreRegAlloc() { - // FIXME: temporarily disabling load / store optimization pass for Thumb1. - if (getOptLevel() != CodeGenOpt::None && !getARMSubtarget().isThumb1Only()) + if (getOptLevel() != CodeGenOpt::None) addPass(createARMLoadStoreOptimizationPass(true)); if (getOptLevel() != CodeGenOpt::None && getARMSubtarget().isCortexA9()) addPass(createMLxExpansionPass()); @@ -262,12 +261,10 @@ bool ARMPassConfig::addPreRegAlloc() { } bool ARMPassConfig::addPreSched2() { - // FIXME: temporarily disabling load / store optimization pass for Thumb1. if (getOptLevel() != CodeGenOpt::None) { - if (!getARMSubtarget().isThumb1Only()) { - addPass(createARMLoadStoreOptimizationPass()); - printAndVerify("After ARM load / store optimizer"); - } + addPass(createARMLoadStoreOptimizationPass()); + printAndVerify("After ARM load / store optimizer"); + if (getARMSubtarget().hasNEON()) addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass)); } |