Skip to content

Commit f2355ea

Browse files
committed
[region-isolation] Eliminate partial_apply code that tries to push actor isolation when we do not have an isolated parameter.
This is unnecessary since I added support for sil_isolated on captures of partial applies.
1 parent 9384493 commit f2355ea

File tree

1 file changed

+1
-25
lines changed

1 file changed

+1
-25
lines changed

lib/SILOptimizer/Analysis/RegionAnalysis.cpp

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1729,33 +1729,9 @@ class PartitionOpTranslator {
17291729
}
17301730
}
17311731

1732-
ValueIsolationRegionInfo actorIsolation;
1733-
for (auto &op : pai->getAllOperands()) {
1734-
if (auto value = tryToTrackValue(op.get())) {
1735-
if (auto isolation = value->getValueState().getIsolationRegionInfo()) {
1736-
actorIsolation = actorIsolation.merge(isolation);
1737-
}
1738-
} else {
1739-
// We only treat Sendable values as propagating actor self if the
1740-
// partial apply has operand as an sil_isolated parameter.
1741-
ApplySite applySite(pai);
1742-
if (applySite.isArgumentOperand(op) &&
1743-
ApplySite(pai).getArgumentParameterInfo(op).hasOption(
1744-
SILParameterInfo::Isolated)) {
1745-
if (auto isolation =
1746-
value->getValueState().getIsolationRegionInfo()) {
1747-
actorIsolation = actorIsolation.merge(isolation);
1748-
}
1749-
}
1750-
}
1751-
}
1752-
1753-
if (actorIsolation.isDisconnected())
1754-
actorIsolation = ValueIsolationRegionInfo();
17551732
SmallVector<SILValue, 8> applyResults;
17561733
getApplyResults(pai, applyResults);
1757-
translateSILMultiAssign(applyResults, pai->getOperandValues(),
1758-
actorIsolation);
1734+
translateSILMultiAssign(applyResults, pai->getOperandValues());
17591735
}
17601736

17611737
void translateSILBuiltin(BuiltinInst *bi) {

0 commit comments

Comments
 (0)