Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/ARM/ARMTargetMachine.cpp
Show First 20 Lines • Show All 410 Lines • ▼ Show 20 Lines | void ARMPassConfig::addIRPasses() { | ||||
if (TM->getOptLevel() != CodeGenOpt::None && EnableAtomicTidy) | if (TM->getOptLevel() != CodeGenOpt::None && EnableAtomicTidy) | ||||
addPass(createCFGSimplificationPass( | addPass(createCFGSimplificationPass( | ||||
SimplifyCFGOptions().hoistCommonInsts(true).sinkCommonInsts(true), | SimplifyCFGOptions().hoistCommonInsts(true).sinkCommonInsts(true), | ||||
[this](const Function &F) { | [this](const Function &F) { | ||||
const auto &ST = this->TM->getSubtarget<ARMSubtarget>(F); | const auto &ST = this->TM->getSubtarget<ARMSubtarget>(F); | ||||
return ST.hasAnyDataBarrier() && !ST.isThumb1Only(); | return ST.hasAnyDataBarrier() && !ST.isThumb1Only(); | ||||
})); | })); | ||||
if (TM->getOptLevel() != CodeGenOpt::None) | |||||
addPass(createComplexArithmeticPass()); | |||||
addPass(createMVEGatherScatterLoweringPass()); | addPass(createMVEGatherScatterLoweringPass()); | ||||
addPass(createMVELaneInterleavingPass()); | addPass(createMVELaneInterleavingPass()); | ||||
TargetPassConfig::addIRPasses(); | TargetPassConfig::addIRPasses(); | ||||
// Run the parallel DSP pass. | // Run the parallel DSP pass. | ||||
if (getOptLevel() == CodeGenOpt::Aggressive) | if (getOptLevel() == CodeGenOpt::Aggressive) | ||||
addPass(createARMParallelDSPPass()); | addPass(createARMParallelDSPPass()); | ||||
// Match interleaved memory accesses to ldN/stN intrinsics. | // Match interleaved memory accesses to ldN/stN intrinsics. | ||||
if (TM->getOptLevel() != CodeGenOpt::None) | if (TM->getOptLevel() != CodeGenOpt::None) | ||||
dmgreen: This doesn't need to add the new brackets. | |||||
addPass(createInterleavedAccessPass()); | addPass(createInterleavedAccessPass()); | ||||
// Add Control Flow Guard checks. | // Add Control Flow Guard checks. | ||||
if (TM->getTargetTriple().isOSWindows()) | if (TM->getTargetTriple().isOSWindows()) | ||||
addPass(createCFGuardCheckPass()); | addPass(createCFGuardCheckPass()); | ||||
} | } | ||||
void ARMPassConfig::addCodeGenPrepare() { | void ARMPassConfig::addCodeGenPrepare() { | ||||
▲ Show 20 Lines • Show All 146 Lines • Show Last 20 Lines |
This doesn't need to add the new brackets.