diff options
| author | Yong He <yonghe@outlook.com> | 2024-03-07 13:19:44 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-07 13:19:44 -0800 |
| commit | 240727db40552180446c1f14acc371f690db10e4 (patch) | |
| tree | 45853db6e7405d37ab0ceafb8c1d5afb029de511 /source/slang/slang-emit.cpp | |
| parent | af108c72894fdfb18438bd1c0cfb452b625cb6a6 (diff) | |
Uniformity analysis. (#3704)
* Uniformity analysis.
* Add [NonUniformReturn] decorations to some hlsl intrinsic functions.
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 2217bc143..1d72fd233 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -71,6 +71,7 @@ #include "slang-ir-string-hash.h" #include "slang-ir-simplify-for-emit.h" #include "slang-ir-pytorch-cpp-binding.h" +#include "slang-ir-uniformity.h" #include "slang-ir-vk-invert-y.h" #include "slang-legalize-types.h" #include "slang-lower-to-ir.h" @@ -371,6 +372,13 @@ Result linkAndOptimizeIR( simplifyIR(targetProgram, irModule, IRSimplificationOptions::getDefault(), sink); + if (targetProgram->getOptionSet().getBoolOption(CompilerOptionName::ValidateUniformity)) + { + validateUniformity(irModule, sink); + if (sink->getErrorCount() != 0) + return SLANG_FAIL; + } + // Fill in default matrix layout into matrix types that left layout unspecified. specializeMatrixLayout(codeGenContext->getTargetProgram(), irModule); |
