We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4862ecc commit 860aa58Copy full SHA for 860aa58
lib/SIL/Utils/OwnershipUtils.cpp
@@ -56,6 +56,11 @@ bool swift::findPointerEscape(SILValue original) {
56
worklist.pushIfNotVisited(phi);
57
break;
58
}
59
+ case OperandOwnership::Borrow: {
60
+ auto *borrow = cast<SingleValueInstruction>(use->getUser());
61
+ worklist.pushIfNotVisited(borrow);
62
+ break;
63
+ }
64
case OperandOwnership::Reborrow: {
65
SILArgument *phi = PhiOperand(use).getValue();
66
@@ -72,6 +77,13 @@ bool swift::findPointerEscape(SILValue original) {
72
77
});
73
78
74
79
80
+ case OperandOwnership::InteriorPointer: {
81
+ if (InteriorPointerOperand(use).findTransitiveUses() !=
82
+ AddressUseKind::NonEscaping) {
83
+ return true;
84
85
86
75
87
default:
76
88
89
0 commit comments