@@ -35,19 +35,19 @@ bool swift::canOpcodeForwardGuaranteedValues(SILValue value) {
3535 if (auto *arg = dyn_cast<SILArgument>(value))
3636 if (auto *ti = arg->getSingleTerminator ())
3737 if (ti->isTransformationTerminator ())
38- return OwnershipForwardingMixin::get (ti)->isDirectlyForwarding ();
38+ return OwnershipForwardingMixin::get (ti)->preservesOwnership ();
3939
4040 if (auto *inst = value->getDefiningInstruction ())
4141 if (auto *mixin = OwnershipForwardingMixin::get (inst))
42- return mixin->isDirectlyForwarding () &&
42+ return mixin->preservesOwnership () &&
4343 !isa<OwnedFirstArgForwardingSingleValueInst>(inst);
4444
4545 return false ;
4646}
4747
4848bool swift::canOpcodeForwardGuaranteedValues (Operand *use) {
4949 if (auto *mixin = OwnershipForwardingMixin::get (use->getUser ()))
50- return mixin->isDirectlyForwarding () &&
50+ return mixin->preservesOwnership () &&
5151 !isa<OwnedFirstArgForwardingSingleValueInst>(use->getUser ());
5252 return false ;
5353}
@@ -58,11 +58,11 @@ bool swift::canOpcodeForwardOwnedValues(SILValue value) {
5858 if (auto *arg = dyn_cast<SILPhiArgument>(value))
5959 if (auto *predTerm = arg->getSingleTerminator ())
6060 if (predTerm->isTransformationTerminator ())
61- return OwnershipForwardingMixin::get (predTerm)->isDirectlyForwarding ();
61+ return OwnershipForwardingMixin::get (predTerm)->preservesOwnership ();
6262
6363 if (auto *inst = value->getDefiningInstruction ())
6464 if (auto *mixin = OwnershipForwardingMixin::get (inst))
65- return mixin->isDirectlyForwarding () &&
65+ return mixin->preservesOwnership () &&
6666 !isa<GuaranteedFirstArgForwardingSingleValueInst>(inst);
6767
6868 return false ;
@@ -71,7 +71,7 @@ bool swift::canOpcodeForwardOwnedValues(SILValue value) {
7171bool swift::canOpcodeForwardOwnedValues (Operand *use) {
7272 auto *user = use->getUser ();
7373 if (auto *mixin = OwnershipForwardingMixin::get (user))
74- return mixin->isDirectlyForwarding () &&
74+ return mixin->preservesOwnership () &&
7575 !isa<GuaranteedFirstArgForwardingSingleValueInst>(user);
7676 return false ;
7777}
@@ -1078,7 +1078,7 @@ bool swift::getAllBorrowIntroducingValues(SILValue inputValue,
10781078 auto *arg = cast<SILPhiArgument>(value);
10791079 auto *termInst = arg->getSingleTerminator ();
10801080 assert (termInst && termInst->isTransformationTerminator () &&
1081- OwnershipForwardingMixin::get (termInst)->isDirectlyForwarding ());
1081+ OwnershipForwardingMixin::get (termInst)->preservesOwnership ());
10821082 assert (termInst->getNumOperands () == 1 &&
10831083 " Transforming terminators should always have a single operand" );
10841084 worklist.push_back (termInst->getAllOperands ()[0 ].get ());
@@ -1130,7 +1130,7 @@ BorrowedValue swift::getSingleBorrowIntroducingValue(SILValue inputValue) {
11301130 auto *arg = cast<SILPhiArgument>(currentValue);
11311131 auto *termInst = arg->getSingleTerminator ();
11321132 assert (termInst && termInst->isTransformationTerminator () &&
1133- OwnershipForwardingMixin::get (termInst)->isDirectlyForwarding ());
1133+ OwnershipForwardingMixin::get (termInst)->preservesOwnership ());
11341134 assert (termInst->getNumOperands () == 1 &&
11351135 " Transformation terminators should only have single operands" );
11361136 currentValue = termInst->getAllOperands ()[0 ].get ();
@@ -1183,7 +1183,7 @@ bool swift::getAllOwnedValueIntroducers(
11831183 auto *arg = cast<SILPhiArgument>(value);
11841184 auto *termInst = arg->getSingleTerminator ();
11851185 assert (termInst && termInst->isTransformationTerminator () &&
1186- OwnershipForwardingMixin::get (termInst)->isDirectlyForwarding ());
1186+ OwnershipForwardingMixin::get (termInst)->preservesOwnership ());
11871187 assert (termInst->getNumOperands () == 1 &&
11881188 " Transforming terminators should always have a single operand" );
11891189 worklist.push_back (termInst->getAllOperands ()[0 ].get ());
@@ -1231,7 +1231,7 @@ OwnedValueIntroducer swift::getSingleOwnedValueIntroducer(SILValue inputValue) {
12311231 auto *arg = cast<SILPhiArgument>(currentValue);
12321232 auto *termInst = arg->getSingleTerminator ();
12331233 assert (termInst && termInst->isTransformationTerminator () &&
1234- OwnershipForwardingMixin::get (termInst)->isDirectlyForwarding ());
1234+ OwnershipForwardingMixin::get (termInst)->preservesOwnership ());
12351235 assert (termInst->getNumOperands ()
12361236 - termInst->getNumTypeDependentOperands () == 1 &&
12371237 " Transformation terminators should only have single operands" );
0 commit comments