@@ -55,14 +55,21 @@ enum NVVMMemorySpace {
55
55
kSharedClusterMemorySpace = 7 ,
56
56
};
57
57
58
- // / A tuple type of LLVM's Intrinsic ID, args (which are llvm values),
58
+ // / A struct of LLVM's Intrinsic ID, args (which are llvm values),
59
59
// / and args types (which are llvm types).
60
60
// / Args types are only required for overloaded intrinsics to provide the
61
61
// / correct argument types to the createIntrinsicCall() method.
62
62
// / This type is returned by the getIIDAndArgsWithTypes() methods.
63
- using IIDArgsWithTypes =
64
- std::tuple<llvm::Intrinsic::ID, llvm::SmallVector<llvm::Value *>,
65
- llvm::SmallVector<llvm::Type *>>;
63
+ struct IIDArgsWithTypes {
64
+ IIDArgsWithTypes (llvm::Intrinsic::ID id,
65
+ llvm::SmallVector<llvm::Value *> args,
66
+ llvm::SmallVector<llvm::Type *> types)
67
+ : id(id), args(args), types(types) {}
68
+
69
+ llvm::Intrinsic::ID id;
70
+ llvm::SmallVector<llvm::Value *> args;
71
+ llvm::SmallVector<llvm::Type *> types;
72
+ };
66
73
67
74
// / Return the element type and number of elements associated with a wmma matrix
68
75
// / of given chracteristics. This matches the logic in IntrinsicsNVVM.td
0 commit comments