================
@@ -401,6 +401,20 @@ def CIR_VPtrType : CIR_Type<"VPtr", "vptr", [
}];
}
+//===----------------------------------------------------------------------===//
+// CUDADeviceSurfaceType
+//===----------------------------------------------------------------------===//
+
+def CIR_CUDADeviceSurfaceType :
+ CIR_Type<"CUDADeviceSurface", "cuda_surface"> {
+ let summary = "CUDA device surface reference type";
+ let description = [{
+ `!cir.cuda_surface` represents a CUDA built-in surface reference in CIR.
+ The type preserves surface semantics at the CIR level and is lowered to
+ the target device representation during lowering to LLVM IR.
----------------
koparasy wrote:
I would like to see here NVPTX being mentioned. AFAIK this is not a general
device convention, while other targets are not reaching to this type. Something
among the lines of:
```
The type preserves surface semantics at the CIR level and lowers to the NVPTX
device-side handle representation (`i64`) during lowering to LLVM IR.
```
https://github.com/llvm/llvm-project/pull/223013
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits