summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-10-29 10:21:07 -0700
committerGitHub <noreply@github.com>2020-10-29 10:21:07 -0700
commit060071604bc715951ddf940a51ced1da48b3dd10 (patch)
tree19daa4c23bdc5098e8bf5c1e28d5dbe1a389eca3 /source/slang/slang-ir.cpp
parent494e09af2cebafa34db49dc1f60afd43aebed619 (diff)
Generate `switch` based dynamic dispatch logic. (#1591)
Co-authored-by: Tim Foley <tim.foley.is@gmail.com>
Diffstat (limited to 'source/slang/slang-ir.cpp')
-rw-r--r--source/slang/slang-ir.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp
index 778f066dd..dc106fff1 100644
--- a/source/slang/slang-ir.cpp
+++ b/source/slang/slang-ir.cpp
@@ -2642,6 +2642,14 @@ namespace Slang
return inst;
}
+ IRInst* IRBuilder::emitGetSequentialIDInst(IRInst* rttiObj)
+ {
+ auto inst = createInst<IRAlloca>(this, kIROp_GetSequentialID, getUIntType(), rttiObj);
+
+ addInst(inst);
+ return inst;
+ }
+
IRInst* IRBuilder::emitAlloca(IRInst* type, IRInst* rttiObjPtr)
{
auto inst = createInst<IRAlloca>(