diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64TargetMachine.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp index beed8e0e52d..188a975d59c 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp +++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp @@ -181,10 +181,10 @@ public: bool addPreISel() override; bool addInstSelector() override; bool addILPOpts() override; - bool addPreRegAlloc() override; - bool addPostRegAlloc() override; - bool addPreSched2() override; - bool addPreEmitPass() override; + void addPreRegAlloc() override; + void addPostRegAlloc() override; + void addPreSched2() override; + void addPreEmitPass() override; }; } // namespace @@ -267,47 +267,43 @@ bool AArch64PassConfig::addILPOpts() { return true; } -bool AArch64PassConfig::addPreRegAlloc() { +void AArch64PassConfig::addPreRegAlloc() { // Use AdvSIMD scalar instructions whenever profitable. if (TM->getOptLevel() != CodeGenOpt::None && EnableAdvSIMDScalar) { - addPass(createAArch64AdvSIMDScalar()); + addPass(createAArch64AdvSIMDScalar(), false); // The AdvSIMD pass may produce copies that can be rewritten to // be register coaleascer friendly. addPass(&PeepholeOptimizerID); } - return true; } -bool AArch64PassConfig::addPostRegAlloc() { +void AArch64PassConfig::addPostRegAlloc() { // Change dead register definitions to refer to the zero register. if (TM->getOptLevel() != CodeGenOpt::None && EnableDeadRegisterElimination) - addPass(createAArch64DeadRegisterDefinitions()); + addPass(createAArch64DeadRegisterDefinitions(), false); if (TM->getOptLevel() != CodeGenOpt::None && (TM->getSubtarget<AArch64Subtarget>().isCortexA53() || TM->getSubtarget<AArch64Subtarget>().isCortexA57()) && usingDefaultRegAlloc()) // Improve performance for some FP/SIMD code for A57. addPass(createAArch64A57FPLoadBalancing()); - return true; } -bool AArch64PassConfig::addPreSched2() { +void AArch64PassConfig::addPreSched2() { // Expand some pseudo instructions to allow proper scheduling. - addPass(createAArch64ExpandPseudoPass()); + addPass(createAArch64ExpandPseudoPass(), false); // Use load/store pair instructions when possible. if (TM->getOptLevel() != CodeGenOpt::None && EnableLoadStoreOpt) addPass(createAArch64LoadStoreOptimizationPass()); - return true; } -bool AArch64PassConfig::addPreEmitPass() { +void AArch64PassConfig::addPreEmitPass() { if (EnableA53Fix835769) - addPass(createAArch64A53Fix835769()); + addPass(createAArch64A53Fix835769(), false); // Relax conditional branch instructions if they're otherwise out of // range of their destination. - addPass(createAArch64BranchRelaxation()); + addPass(createAArch64BranchRelaxation(), false); if (TM->getOptLevel() != CodeGenOpt::None && EnableCollectLOH && TM->getSubtarget<AArch64Subtarget>().isTargetMachO()) addPass(createAArch64CollectLOHPass()); - return true; } |

