summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-sccp.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-03-23 16:59:02 -0700
committerGitHub <noreply@github.com>2023-03-23 16:59:02 -0700
commit50e7d9797d9bf4b98a056d5df128c24dde6e78bd (patch)
tree3e6e4491b1b6512280adff1d69a93ccaf50f6bb3 /source/slang/slang-ir-sccp.cpp
parent85f005888cadeb4b1d957b57a86cbad6cc9ea313 (diff)
Fix optimization pass not converging. (#2725)
* Fix optimization pass not converging. * Fix. * Fix tests. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-sccp.cpp')
-rw-r--r--source/slang/slang-ir-sccp.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/slang-ir-sccp.cpp b/source/slang/slang-ir-sccp.cpp
index 691bd7ff0..4e589c1fe 100644
--- a/source/slang/slang-ir-sccp.cpp
+++ b/source/slang/slang-ir-sccp.cpp
@@ -1675,6 +1675,17 @@ bool applySparseConditionalConstantPropagation(
return changed;
}
+bool applySparseConditionalConstantPropagationForGlobalScope(
+ IRModule* module)
+{
+ SharedSCCPContext shared;
+ shared.module = module;
+ SCCPContext globalContext;
+ globalContext.shared = &shared;
+ globalContext.code = nullptr;
+ bool changed = globalContext.applyOnGlobalScope(module);
+ return changed;
+}
bool applySparseConditionalConstantPropagation(IRInst* func)
{