================
@@ -40,6 +40,25 @@ class AMDGPURsrcIntrinsic<int rsrcarg, bit isimage = false> {
   bit IsImage = isimage;
 }
 
+// Marker classes for asynchronous operations.
+class AMDGPUAsyncIntrinsic {
+  Intrinsic Intr = !cast<Intrinsic>(NAME);
+}
+
+// DMA transfers between global memory and LDS.
+class AMDGPULDSDMAIntrinsic : AMDGPUAsyncIntrinsic;
+
+// DMA transfers between global memory and LDS tracked with asyncmarks.
+class AMDGPUAsyncLDSDMAIntrinsic : AMDGPUAsyncIntrinsic;
+
+// Operation tracked by ASYNCcnt.
+class AMDGPUAsyncCntIntrinsic : AMDGPUAsyncIntrinsic;
----------------
ssahasra wrote:

Why would there be intrinsics that are tracked by a raw count, but not by an 
asyncmark?

https://github.com/llvm/llvm-project/pull/225488
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to