From 67ecd7e296d1beabeaf96f984f0f592b22728633 Mon Sep 17 00:00:00 2001 From: Stephan Herhut Date: Mon, 29 Jun 2020 12:01:53 +0200 Subject: [PATCH] [mlir] Clean up NVVM intrinsics definitions a little. Differential Revision: https://reviews.llvm.org/D82750 --- mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td index a2ab459c3dea2..5c793f8547dab 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td @@ -33,16 +33,25 @@ class NVVM_Op traits = []> : LLVM_OpBase { } +//===----------------------------------------------------------------------===// +// NVVM intrinsic operations +//===----------------------------------------------------------------------===// + +class NVVM_IntrOp overloadedResults, + list overloadedOperands, list traits, + bit hasResult> + : LLVM_IntrOpBase; + + //===----------------------------------------------------------------------===// // NVVM special register op definitions //===----------------------------------------------------------------------===// class NVVM_SpecialRegisterOp traits = []> : - NVVM_Op, - Results<(outs LLVM_Type:$res)>, Arguments<(ins)> { - string llvmBuilder = "$res = createIntrinsicCall(builder," - # "llvm::Intrinsic::nvvm_" # !subst(".","_", mnemonic) # ");"; + NVVM_IntrOp, + Arguments<(ins)> { let assemblyFormat = "attr-dict `:` type($res)"; }