summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-util.cpp')
-rw-r--r--source/slang/slang-ir-util.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/slang/slang-ir-util.cpp b/source/slang/slang-ir-util.cpp
index a69e13562..95240a26c 100644
--- a/source/slang/slang-ir-util.cpp
+++ b/source/slang/slang-ir-util.cpp
@@ -759,6 +759,21 @@ void removePhiArgs(IRInst* phiParam)
}
}
+int getParamIndexInBlock(IRParam* paramInst)
+{
+ auto block = as<IRBlock>(paramInst->getParent());
+ if (!block)
+ return -1;
+ int paramIndex = 0;
+ for (auto param : block->getParams())
+ {
+ if (param == paramInst)
+ return paramIndex;
+ paramIndex++;
+ }
+ return -1;
+}
+
struct GenericChildrenMigrationContextImpl
{
IRCloneEnv cloneEnv;