================
@@ -404,6 +420,19 @@ class SPIRVGlobalRegistry : public SPIRVIRMapping {
   // argument. Otherwise returns 0.
   unsigned getNumScalarOrVectorTotalBitWidth(SPIRVTypeInst Type) const;
 
+  // True if a pointer to this element type must stay typed rather than become
+  // OpTypeUntypedPointerKHR (an opaque builtin type like an image or sampler).
+  bool isSpecialOpaqueElementType(SPIRVTypeInst ElemType) const;
+
+  // Byte size of a pointer value's IR-deduced element type, or 0 if unknown.
+  // Alloc size is what array indexing and copy strides use, so a 3-component
+  // vector counts as 4 components as OpenCL requires.
----------------
MrSidims wrote:

I have reworded it. Basically per OpenCL 3-element vectors require allocation 
like 4-element vectors (which makes probably makes sense even outside of OpenCL 
scope)

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

Reply via email to