summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-ssa-simplification.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-ssa-simplification.cpp')
-rw-r--r--source/slang/slang-ir-ssa-simplification.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-ir-ssa-simplification.cpp b/source/slang/slang-ir-ssa-simplification.cpp
index beaaae065..a0acf5082 100644
--- a/source/slang/slang-ir-ssa-simplification.cpp
+++ b/source/slang/slang-ir-ssa-simplification.cpp
@@ -30,13 +30,14 @@ namespace Slang
changed |= peepholeOptimize(module);
changed |= removeRedundancy(module);
changed |= simplifyCFG(module);
- changed |= propagateFuncProperties(module);
// Note: we disregard the `changed` state from dead code elimination pass since
// SCCP pass could be generating temporarily evaluated constant values and never actually use them.
// DCE will always remove those nearly generated consts and always returns true here.
eliminateDeadCode(module);
+ changed |= propagateFuncProperties(module);
+
changed |= constructSSA(module);
changed |= removeUnusedGenericParam(module);
iterationCounter++;