File tree 2 files changed +24
-0
lines changed
include/mlir/Dialect/LLVMIR 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -2316,6 +2316,20 @@ def NVVM_WgmmaMmaAsyncOp : NVVM_Op<"wgmma.mma_async",
2316
2316
}];
2317
2317
}
2318
2318
2319
+ def NVVM_Exit : NVVM_Op<"exit"> {
2320
+ let summary = "Exit Op";
2321
+ let description = [{
2322
+ Ends execution of a thread.
2323
+ [For more information, see PTX ISA](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#control-flow-instructions-exit)
2324
+ }];
2325
+ string llvmBuilder = [{
2326
+ createIntrinsicCall(builder, llvm::Intrinsic::nvvm_exit);
2327
+ }];
2328
+
2329
+ let assemblyFormat = "attr-dict";
2330
+ }
2331
+
2332
+
2319
2333
//===----------------------------------------------------------------------===//
2320
2334
// NVVM breakpoint Op
2321
2335
//===----------------------------------------------------------------------===//
Original file line number Diff line number Diff line change @@ -696,6 +696,16 @@ llvm.func @nvvm_fence_proxy_tensormap_generic_acquire(%addr : !llvm.ptr) {
696
696
nvvm.fence.proxy.acquire #nvvm.mem_scope <sys > %addr , %c128
697
697
llvm.return
698
698
}
699
+ // -----
700
+
701
+ // CHECK-LABEL: @nvvm_exit
702
+ llvm.func @nvvm_exit () {
703
+ // CHECK: call void @llvm.nvvm.exit()
704
+ nvvm.exit
705
+ llvm.return
706
+ }
707
+
708
+
699
709
700
710
// -----
701
711
// CHECK-LABEL: @nvvm_breakpoint
You can’t perform that action at this time.
0 commit comments