summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-ssa-simplification.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-12-15 17:05:32 -0800
committerGitHub <noreply@github.com>2023-12-15 17:05:32 -0800
commitb507d881ca47135bfa46237767e7183f61e7d8e3 (patch)
tree3bbe4652a6972d940fd4df92a113b760c3a9e115 /source/slang/slang-ir-ssa-simplification.cpp
parentf8b3027d0be0b890152a6a649822741cd3a3b6b6 (diff)
Add ConstBufferPointer::subscript. (#3415)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-ssa-simplification.cpp')
-rw-r--r--source/slang/slang-ir-ssa-simplification.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/source/slang/slang-ir-ssa-simplification.cpp b/source/slang/slang-ir-ssa-simplification.cpp
index 104ce05e4..f20d1295c 100644
--- a/source/slang/slang-ir-ssa-simplification.cpp
+++ b/source/slang/slang-ir-ssa-simplification.cpp
@@ -17,7 +17,7 @@ namespace Slang
{
// Run a combination of SSA, SCCP, SimplifyCFG, and DeadCodeElimination pass
// until no more changes are possible.
- void simplifyIR(IRModule* module, IRSimplificationOptions options, DiagnosticSink* sink)
+ void simplifyIR(TargetRequest* target, IRModule* module, IRSimplificationOptions options, DiagnosticSink* sink)
{
SLANG_PROFILE;
bool changed = true;
@@ -36,7 +36,7 @@ namespace Slang
changed |= propagateFuncProperties(module);
changed |= removeUnusedGenericParam(module);
changed |= applySparseConditionalConstantPropagationForGlobalScope(module, sink);
- changed |= peepholeOptimizeGlobalScope(module);
+ changed |= peepholeOptimizeGlobalScope(target, module);
for (auto inst : module->getGlobalInsts())
{
@@ -49,7 +49,7 @@ namespace Slang
{
funcChanged = false;
funcChanged |= applySparseConditionalConstantPropagation(func, sink);
- funcChanged |= peepholeOptimize(func);
+ funcChanged |= peepholeOptimize(target, func);
funcChanged |= removeRedundancyInFunc(func);
funcChanged |= simplifyCFG(func, options.cfgOptions);
eliminateDeadCode(func);
@@ -68,7 +68,7 @@ namespace Slang
}
}
- void simplifyNonSSAIR(IRModule* module, IRSimplificationOptions options)
+ void simplifyNonSSAIR(TargetRequest* target, IRModule* module, IRSimplificationOptions options)
{
bool changed = true;
const int kMaxIterations = 8;
@@ -76,7 +76,7 @@ namespace Slang
while (changed && iterationCounter < kMaxIterations)
{
changed = false;
- changed |= peepholeOptimize(module);
+ changed |= peepholeOptimize(target, module);
changed |= removeRedundancy(module);
changed |= simplifyCFG(module, options.cfgOptions);
@@ -90,7 +90,7 @@ namespace Slang
}
- void simplifyFunc(IRGlobalValueWithCode* func, IRSimplificationOptions options, DiagnosticSink* sink)
+ void simplifyFunc(TargetRequest* target, IRGlobalValueWithCode* func, IRSimplificationOptions options, DiagnosticSink* sink)
{
bool changed = true;
const int kMaxIterations = 8;
@@ -102,7 +102,7 @@ namespace Slang
changed = false;
changed |= applySparseConditionalConstantPropagation(func, sink);
- changed |= peepholeOptimize(func);
+ changed |= peepholeOptimize(target, func);
changed |= removeRedundancyInFunc(func);
changed |= simplifyCFG(func, options.cfgOptions);