summaryrefslogtreecommitdiff
path: root/source/slang/slang-lower-to-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-09-06 16:08:48 -0700
committerGitHub <noreply@github.com>2022-09-06 16:08:48 -0700
commit9f3e83cf0d664c87a618edf08d834829178030e6 (patch)
treef0545822e4f37f18ec847166e6a00912c10251a1 /source/slang/slang-lower-to-ir.cpp
parent61ff1ba8459d70cbc887040c530b5ce1a125ec77 (diff)
Specialize and SSA in a loop + better diagnostics on dynamic dispatch failure (#2396)
* Report diagnostic when dynamic dispatch failed instead of crashing. * Specialize and SSA in a loop. Explicit specialization only interface. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-lower-to-ir.cpp')
-rw-r--r--source/slang/slang-lower-to-ir.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp
index 95d2c1cd7..99af2abd6 100644
--- a/source/slang/slang-lower-to-ir.cpp
+++ b/source/slang/slang-lower-to-ir.cpp
@@ -6809,6 +6809,10 @@ struct DeclLoweringVisitor : DeclVisitor<DeclLoweringVisitor, LoweredValInfo>
{
subBuilder->addAnyValueSizeDecoration(irInterface, anyValueSizeAttr->size);
}
+ if (auto specializeAttr = decl->findModifier<SpecializeAttribute>())
+ {
+ subBuilder->addSpecializeDecoration(irInterface);
+ }
if (auto comInterfaceAttr = decl->findModifier<ComInterfaceAttribute>())
{
subBuilder->addComInterfaceDecoration(irInterface, comInterfaceAttr->guid.getUnownedSlice());