mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
Disable the load/store optimization pass for Thumb-1.
Moritz's changes have improved codegen a lot, but further testing showed significant correctness problems. Disable by default until these have been worked out. Patch by Moritz Roth! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210789 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -265,7 +265,8 @@ bool ARMPassConfig::addInstSelector() {
|
||||
}
|
||||
|
||||
bool ARMPassConfig::addPreRegAlloc() {
|
||||
if (getOptLevel() != CodeGenOpt::None)
|
||||
// FIXME: Temporarily disabling Thumb-1 pre-RA Load/Store optimization pass
|
||||
if (getOptLevel() != CodeGenOpt::None && !getARMSubtarget().isThumb1Only())
|
||||
addPass(createARMLoadStoreOptimizationPass(true));
|
||||
if (getOptLevel() != CodeGenOpt::None && getARMSubtarget().isCortexA9())
|
||||
addPass(createMLxExpansionPass());
|
||||
@@ -280,8 +281,11 @@ bool ARMPassConfig::addPreRegAlloc() {
|
||||
|
||||
bool ARMPassConfig::addPreSched2() {
|
||||
if (getOptLevel() != CodeGenOpt::None) {
|
||||
addPass(createARMLoadStoreOptimizationPass());
|
||||
printAndVerify("After ARM load / store optimizer");
|
||||
// FIXME: Temporarily disabling Thumb-1 post-RA Load/Store optimization pass
|
||||
if (!getARMSubtarget().isThumb1Only()) {
|
||||
addPass(createARMLoadStoreOptimizationPass());
|
||||
printAndVerify("After ARM load / store optimizer");
|
||||
}
|
||||
|
||||
if (getARMSubtarget().hasNEON())
|
||||
addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass));
|
||||
|
||||
Reference in New Issue
Block a user