================
@@ -2201,6 +2207,9 @@ TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const 
{
     Align = 8;                                                                 
\
     break;
 #include "clang/Basic/WebAssemblyReferenceTypes.def"
+    case BuiltinType::AMDGPUBufferRsrc:
+      Width = 0;
+      Align = 256;
----------------
krzysz00 wrote:

Hold on, there're two types that it'd make sense to builtin here.

The first is the "buffer rsrc", which the ISA manual calls a `V#`. This is a 
128-bit data structure that's quite opaque as far as C semantics go. LLVM-wise 
they're `ptr addrspace(8)`

The other are the various flavor of buffer fat pointer, which are 160- or 
192-bit values that are a buffer resource with offset bits hanging off the 
other end. `ptr addrspace(7)` can act like a pointer-pointer if you squint and 
there are LLVM lowerings to make it work

https://github.com/llvm/llvm-project/pull/94830
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to