[llvm] [SPIRV] Filter disallows extensions for env (PR #150051)

Nathan Gauër via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 23 05:09:24 PDT 2025


================
@@ -104,6 +167,26 @@ static const std::map<std::string, SPIRV::Extension::Extension, std::less<>>
         {"SPV_KHR_float_controls2",
          SPIRV::Extension::Extension::SPV_KHR_float_controls2}};
 
+/*
+
+TODO: std::set_union is not constexpr in c++17. I would still like a way to make
+sure the environment lists are added.
----------------
Keenuts wrote:

Could this be handled structurally by the map?
Having a map like:
```
struct ExtensionInfo {
    const char* name;
    bool valid_in_vulkan;
    bool valid_in_opencl;
};
std::unorederd_map<SPIRV::Extension, ExtensionInfo> = {
}

This way we don't have to keep all 3 lists in sync?
Someone could still but the 2 valid bits to false, but it's more visible.
```

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


More information about the llvm-commits mailing list