|
11 | 11 |
|
12 | 12 | #include "AArch64TargetMachine.h" |
13 | 13 | #include "AArch64.h" |
14 | | -#include "AArch64LoopIdiomTransform.h" |
15 | 14 | #include "AArch64MachineFunctionInfo.h" |
16 | 15 | #include "AArch64MachineScheduler.h" |
17 | 16 | #include "AArch64MacroFusion.h" |
|
52 | 51 | #include "llvm/TargetParser/Triple.h" |
53 | 52 | #include "llvm/Transforms/CFGuard.h" |
54 | 53 | #include "llvm/Transforms/Scalar.h" |
| 54 | +#include "llvm/Transforms/Vectorize/LoopIdiomVectorize.h" |
55 | 55 | #include <memory> |
56 | 56 | #include <optional> |
57 | 57 | #include <string> |
@@ -234,7 +234,6 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64Target() { |
234 | 234 | initializeAArch64DeadRegisterDefinitionsPass(*PR); |
235 | 235 | initializeAArch64ExpandPseudoPass(*PR); |
236 | 236 | initializeAArch64LoadStoreOptPass(*PR); |
237 | | - initializeAArch64LoopIdiomTransformLegacyPassPass(*PR); |
238 | 237 | initializeAArch64MIPeepholeOptPass(*PR); |
239 | 238 | initializeAArch64SIMDInstrOptPass(*PR); |
240 | 239 | initializeAArch64O0PreLegalizerCombinerPass(*PR); |
@@ -553,12 +552,9 @@ class AArch64PassConfig : public TargetPassConfig { |
553 | 552 | void AArch64TargetMachine::registerPassBuilderCallbacks( |
554 | 553 | PassBuilder &PB, bool PopulateClassToPassNames) { |
555 | 554 |
|
556 | | -#define GET_PASS_REGISTRY "AArch64PassRegistry.def" |
557 | | -#include "llvm/Passes/TargetPassRegistry.inc" |
558 | | - |
559 | 555 | PB.registerLateLoopOptimizationsEPCallback( |
560 | 556 | [=](LoopPassManager &LPM, OptimizationLevel Level) { |
561 | | - LPM.addPass(AArch64LoopIdiomTransformPass()); |
| 557 | + LPM.addPass(LoopIdiomVectorizePass()); |
562 | 558 | }); |
563 | 559 | } |
564 | 560 |
|
|
0 commit comments