summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-09-10 08:13:21 -0700
committerGitHub <noreply@github.com>2024-09-10 08:13:21 -0700
commit936c22a9a938744eb43c310dd82c9c6944f79e87 (patch)
treeece9880056c94415379cd89303a4542894fb7f32 /source/slang/slang-emit.cpp
parentf51b74ddee7ec7104d021006575c601245814bb1 (diff)
Specialize existential return types when possible. (#5044)
* Fix inccorect dropping of declref during Unification of DeclaredSubtypeWitness. * Add extension test. * Specialize existential return types when possible. * Fix. * Fix. * Fix falcor issue.
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 2ccf075f3..cdd2ca5b6 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -841,6 +841,10 @@ Result linkAndOptimizeIR(
{
simplifyIR(targetProgram, irModule, fastIRSimplificationOptions, sink);
}
+ else if (requiredLoweringPassSet.generics)
+ {
+ eliminateDeadCode(irModule, fastIRSimplificationOptions.deadCodeElimOptions);
+ }
if (!ArtifactDescUtil::isCpuLikeTarget(artifactDesc) &&
targetProgram->getOptionSet().shouldRunNonEssentialValidation())