[llvm] [NewPM] Adds a port for AArch64SIMDInstrOpt (PR #188177)
Anshul Nigham via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 2 14:46:31 PDT 2026
================
@@ -196,27 +159,85 @@ struct AArch64SIMDInstrOpt : public MachineFunctionPass {
/// instruction (2 for ST2 and 4 for ST4).
unsigned determineSrcReg(MachineInstr &MI) const;
+ bool run(MachineFunction &MF);
+};
+
+struct AArch64SIMDInstrOptLegacy : public MachineFunctionPass {
+ static char ID;
+
+ AArch64SIMDInstrOptImpl::SIMDInstrTableMap SIMDInstrTable;
+ AArch64SIMDInstrOptImpl::InterlEarlyExitMap InterlEarlyExit;
+
+ AArch64SIMDInstrOptLegacy() : MachineFunctionPass(ID) {}
+
bool runOnMachineFunction(MachineFunction &Fn) override;
StringRef getPassName() const override {
return AARCH64_VECTOR_BY_ELEMENT_OPT_NAME;
}
};
-char AArch64SIMDInstrOpt::ID = 0;
+char AArch64SIMDInstrOptLegacy::ID = 0;
+
+const std::vector<AArch64SIMDInstrOptImpl::InstReplInfo>
----------------
nigham wrote:
Made this whole thing a constexpr.
https://github.com/llvm/llvm-project/pull/188177
More information about the llvm-commits
mailing list