[Mlir-commits] [mlir] 67ecd7e - [mlir] Clean up NVVM intrinsics definitions a little.

Stephan Herhut llvmlistbot at llvm.org
Mon Jun 29 07:32:33 PDT 2020


Author: Stephan Herhut
Date: 2020-06-29T16:32:17+02:00
New Revision: 67ecd7e296d1beabeaf96f984f0f592b22728633

URL: https://github.com/llvm/llvm-project/commit/67ecd7e296d1beabeaf96f984f0f592b22728633
DIFF: https://github.com/llvm/llvm-project/commit/67ecd7e296d1beabeaf96f984f0f592b22728633.diff

LOG: [mlir] Clean up NVVM intrinsics definitions a little.

Differential Revision: https://reviews.llvm.org/D82750

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
index a2ab459c3dea..5c793f8547da 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
@@ -33,16 +33,25 @@ class NVVM_Op<string mnemonic, list<OpTrait> traits = []> :
   LLVM_OpBase<NVVM_Dialect, mnemonic, traits> {
 }
 
+//===----------------------------------------------------------------------===//
+// NVVM intrinsic operations
+//===----------------------------------------------------------------------===//
+
+class NVVM_IntrOp<string mnem, list<int> overloadedResults,
+                  list<int> overloadedOperands, list<OpTrait> traits,
+                  bit hasResult>
+  : LLVM_IntrOpBase<NVVM_Dialect, mnem, "nvvm_" # !subst(".", "_", mnem),
+                    overloadedResults, overloadedOperands, traits, hasResult>;
+
+
 //===----------------------------------------------------------------------===//
 // NVVM special register op definitions
 //===----------------------------------------------------------------------===//
 
 class NVVM_SpecialRegisterOp<string mnemonic,
     list<OpTrait> traits = []> :
-  NVVM_Op<mnemonic, !listconcat(traits, [NoSideEffect])>,
-  Results<(outs LLVM_Type:$res)>, Arguments<(ins)> {
-  string llvmBuilder = "$res = createIntrinsicCall(builder,"
-    # "llvm::Intrinsic::nvvm_" # !subst(".","_", mnemonic) # ");";
+  NVVM_IntrOp<mnemonic, [], [], !listconcat(traits, [NoSideEffect]), 1>,
+  Arguments<(ins)> {
   let assemblyFormat = "attr-dict `:` type($res)";
 }
 


        


More information about the Mlir-commits mailing list