@@ -117,14 +117,13 @@ class NVVM_Attr<string attrName, string attrMnemonic, list<Trait> traits = []>
117117// NVVM intrinsic operations
118118//===----------------------------------------------------------------------===//
119119
120- class NVVM_IntrOp<string mnem, list<Trait> traits,
121- int numResults>
120+ class NVVM_IntrOp<string mnem, list<Trait> traits = [] ,
121+ int numResults = 0 >
122122 : LLVM_IntrOpBase<NVVM_Dialect, mnem, "nvvm_" # !subst(".", "_", mnem),
123123 /*list<int> overloadedResults=*/[],
124124 /*list<int> overloadedOperands=*/[],
125125 traits, numResults>;
126126
127-
128127//===----------------------------------------------------------------------===//
129128// NVVM special register op definitions
130129//===----------------------------------------------------------------------===//
@@ -431,10 +430,7 @@ def NVVM_MBarrierTestWaitSharedOp : NVVM_Op<"mbarrier.test.wait.shared">,
431430// NVVM synchronization op definitions
432431//===----------------------------------------------------------------------===//
433432
434- def NVVM_Barrier0Op : NVVM_Op<"barrier0"> {
435- string llvmBuilder = [{
436- createIntrinsicCall(builder, llvm::Intrinsic::nvvm_barrier0);
437- }];
433+ def NVVM_Barrier0Op : NVVM_IntrOp<"barrier0"> {
438434 let assemblyFormat = "attr-dict";
439435}
440436
0 commit comments