Add attributes to functions pass (#539)
Fixes #538
* Add a new pass early in the flow to add function attributes as
necessary
* Currently adds readnone and speculatable to
__translate_sampler_initializer to prevent later optimizations from
creating phis of samplers
* add tests
* update spirv headers and tools
diff --git a/lib/Passes.cpp b/lib/Passes.cpp
index 5aa895b..872a75d 100644
--- a/lib/Passes.cpp
+++ b/lib/Passes.cpp
@@ -17,6 +17,7 @@
namespace llvm {
void initializeClspvPasses(PassRegistry &r) {
+ initializeAddFunctionAttributesPassPass(r);
initializeAllocateDescriptorsPassPass(r);
initializeClusterModuleScopeConstantVarsPass(r);
initializeClusterPodKernelArgumentsPassPass(r);