Skip to content

Commit 093d6a1

Browse files
committed
[CanOSSALifetime] Treat deinit barrier as non-use.
Use PrunedLiveness' new extendToNonUse API to extend liveness up to deinit barriers.
1 parent 1470023 commit 093d6a1

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

lib/SILOptimizer/Utils/CanonicalizeOSSALifetime.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -297,19 +297,17 @@ void CanonicalizeOSSALifetime::extendLivenessToDeinitBarriers() {
297297
LifetimeEndingUse;
298298
});
299299
for (auto *barrier : barriers.instructions) {
300-
liveness->updateForUse(barrier, /*lifetimeEnding*/ false);
300+
liveness->extendToNonUse(barrier);
301301
}
302302
for (auto *barrier : barriers.phis) {
303303
for (auto *predecessor : barrier->getPredecessorBlocks()) {
304-
liveness->updateForUse(predecessor->getTerminator(),
305-
/*lifetimeEnding*/ false);
304+
liveness->extendToNonUse(predecessor->getTerminator());
306305
}
307306
}
308307
for (auto *edge : barriers.edges) {
309308
auto *predecessor = edge->getSinglePredecessorBlock();
310309
assert(predecessor);
311-
liveness->updateForUse(&predecessor->back(),
312-
/*lifetimeEnding*/ false);
310+
liveness->extendToNonUse(&predecessor->back());
313311
}
314312
// Ignore barriers.initialBlocks. If the collection is non-empty, it
315313
// contains the def-block. Its presence means that no barriers were found

0 commit comments

Comments
 (0)