[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