[clang] [llvm] [SPIR-V] DRAFT: Shader built-ins - no spec change (PR #116393)

Nathan Gauër via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 18 04:45:15 PST 2024


================
@@ -59,6 +59,9 @@ enum class LangAS : unsigned {
   // HLSL specific address spaces.
   hlsl_groupshared,
 
+  // Vulkan specific address spaces.
+  vulkan_private,
+
----------------
Keenuts wrote:

My understanding is we have 2 ways to convey this information from the FE to the BE:
 - using a common IR representation (like `internal global [const]`)
 - using a custom address space.

Right now, the BE considers an "internal global" to have the "Function" storage class, which I believe is wrong. So we could say `internal global` are `Private`.
If for some reasons Intel is against this, we can rely on a custom address space.

The less-invasive change is indeed to use the `internal global`. Which can also be done (Change in SPIRVInstructionSelector.cpp, line 3423 and 3344).
Changing the it doesn't break any tests. 




https://github.com/llvm/llvm-project/pull/116393


More information about the llvm-commits mailing list