summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-specialize.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-03-13 16:46:23 -0700
committerGitHub <noreply@github.com>2024-03-13 16:46:23 -0700
commit25df6b868c2af58435bbd09d89e64d77bea87bc7 (patch)
treefbd05d5d709a43f0068882cb7aba65b617d69b17 /source/slang/slang-ir-specialize.cpp
parent5f0ee87dfde1ef65a6383ff54c3580cdc5eff3e2 (diff)
Fix crash when specializing generic entry points. (#3760)
Diffstat (limited to 'source/slang/slang-ir-specialize.cpp')
-rw-r--r--source/slang/slang-ir-specialize.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/slang/slang-ir-specialize.cpp b/source/slang/slang-ir-specialize.cpp
index 3320a7d09..a4985eee4 100644
--- a/source/slang/slang-ir-specialize.cpp
+++ b/source/slang/slang-ir-specialize.cpp
@@ -2381,9 +2381,12 @@ IRInst* specializeGenericImpl(
// further specializations from the specialized function will have as simple specialization
// arguments as possible to avoid creating specializations that eventually simplified into
// the same thing.
- if (auto func = as<IRFunc>(specializedVal))
+ if (context)
{
- simplifyFunc(context->targetProgram, func, IRSimplificationOptions::getFast());
+ if (auto func = as<IRFunc>(specializedVal))
+ {
+ simplifyFunc(context->targetProgram, func, IRSimplificationOptions::getFast());
+ }
}
return specializedVal;