[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