[llvm] [WebAssembly] MC support for acquire-release atomics (PR #183656)

Heejin Ahn via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 21:04:38 PST 2026


================
@@ -40,19 +40,27 @@ class WebAssemblyInstPrinter final : public MCInstPrinter {
                  const MCSubtargetInfo &STI, raw_ostream &OS) override;
 
   // Used by tblegen code.
-  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O,
-                    bool IsVariadicDef = false);
-  void printBrList(const MCInst *MI, unsigned OpNo, raw_ostream &O);
+  void printOperand(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
+                    raw_ostream &O, bool IsVariadicDef = false);
+  void printBrList(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
+                   raw_ostream &O);
   void printWebAssemblyP2AlignOperand(const MCInst *MI, unsigned OpNo,
+                                      const MCSubtargetInfo &STI,
                                       raw_ostream &O);
+  void printWebAssemblyMemOrderOperand(const MCInst *MI, unsigned OpNo,
+                                       const MCSubtargetInfo &STI,
+                                       raw_ostream &O);
   void printWebAssemblySignatureOperand(const MCInst *MI, unsigned OpNo,
+                                        const MCSubtargetInfo &STI,
                                         raw_ostream &O);
-  void printCatchList(const MCInst *MI, unsigned OpNo, raw_ostream &O);
+  void printCatchList(const MCInst *MI, unsigned OpNo,
+                      const MCSubtargetInfo &STI, raw_ostream &O);
----------------
aheejin wrote:

Why did all these functions get the `STI` argument? Isn't it only needed in `encodeP2AlignAndMemOrder`?

https://github.com/llvm/llvm-project/pull/183656


More information about the llvm-commits mailing list