summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/passes/CoalesceLocals.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/passes/CoalesceLocals.cpp b/src/passes/CoalesceLocals.cpp
index 7b2505094..f9ded9c92 100644
--- a/src/passes/CoalesceLocals.cpp
+++ b/src/passes/CoalesceLocals.cpp
@@ -515,7 +515,12 @@ void CoalesceLocals::applyIndices(std::vector<Index>& indices,
continue;
}
}
- // TODO: do the same for a tee
+ if (auto* subSet = set->value->dynCast<LocalSet>()) {
+ if (subSet->index == set->index) {
+ set->value = subSet->value;
+ continue;
+ }
+ }
// remove ineffective actions
if (!action.effective) {
// value may have no side effects, further optimizations can eliminate