[Mlir-commits] [mlir] [mlir][NVVM] Tighten result-type predicate on special-register ops (PR #195030)

Bastian Hagedorn llvmlistbot at llvm.org
Thu Apr 30 01:14:51 PDT 2026


================
@@ -306,22 +306,28 @@ class NVVM_SingleResultIntrinsicOp<string mnemonic, list<Trait> traits = [], str
 // NVVM special register op definitions
 //===----------------------------------------------------------------------===//
 
-class NVVM_PureSpecialRegisterOp<string mnemonic, list<Trait> traits = []> :
+class NVVM_PureSpecialRegisterOp<string mnemonic, list<Trait> traits = [],
+                                 Type resultType = I32> :
   NVVM_IntrOp<mnemonic, !listconcat(traits, [Pure]), 1> {
   let arguments = (ins);
+  let results = (outs resultType:$res);
   let assemblyFormat = "attr-dict `:` type($res)";
 }
 
-class NVVM_SpecialRegisterOp<string mnemonic, list<Trait> traits = []> :
+class NVVM_SpecialRegisterOp<string mnemonic, list<Trait> traits = [],
+                             Type resultType = I32> :
----------------
bastianhagedorn wrote:

Done, applied the swap. Drops the empty-list placeholder for the i64 ops too, so they read more naturally. 

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


More information about the Mlir-commits mailing list