diff --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td @@ -34,15 +34,24 @@ } //===----------------------------------------------------------------------===// +// 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)"; }