summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir.cpp')
-rw-r--r--source/slang/slang-ir.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp
index f28f61ffc..fb274c4a0 100644
--- a/source/slang/slang-ir.cpp
+++ b/source/slang/slang-ir.cpp
@@ -4538,6 +4538,18 @@ RefPtr<IRModule> IRModule::create(Session* session)
return module;
}
+void IRModule::buildMangledNameToGlobalInstMap()
+{
+ m_mapMangledNameToGlobalInst.clear();
+ for (auto inst : getGlobalInsts())
+ {
+ if (auto linkageDecor = inst->findDecoration<IRLinkageDecoration>())
+ {
+ m_mapMangledNameToGlobalInst[linkageDecor->getMangledName()].add(inst);
+ }
+ }
+}
+
IRDominatorTree* IRModule::findOrCreateDominatorTree(IRGlobalValueWithCode* func)
{
IRAnalysis* analysis = m_mapInstToAnalysis.tryGetValue(func);