@@ -35,7 +35,6 @@ class OperandOwnershipKindClassifier
3535 LLVM_ATTRIBUTE_UNUSED SILModule &mod;
3636
3737 const Operand &op;
38- bool checkingSubObject;
3938
4039public:
4140 // / Create a new OperandOwnershipKindClassifier.
@@ -45,13 +44,8 @@ class OperandOwnershipKindClassifier
4544 // / should be the subobject and Value should be the parent object. An example
4645 // / of where one would want to do this is in the case of value projections
4746 // / like struct_extract.
48- OperandOwnershipKindClassifier (
49- SILModule &mod, const Operand &op,
50- bool checkingSubObject)
51- : mod(mod), op(op),
52- checkingSubObject (checkingSubObject) {}
53-
54- bool isCheckingSubObject () const { return checkingSubObject; }
47+ OperandOwnershipKindClassifier (SILModule &mod, const Operand &op)
48+ : mod(mod), op(op) {}
5549
5650 SILValue getValue () const { return op.get (); }
5751
@@ -552,15 +546,6 @@ OperandOwnershipKindClassifier::visitReturnInst(ReturnInst *ri) {
552546
553547OperandOwnershipKindMap
554548OperandOwnershipKindClassifier::visitEndBorrowInst (EndBorrowInst *i) {
555- // If we are checking a subobject, make sure that we are from a guaranteed
556- // basic block argument.
557- if (isCheckingSubObject ()) {
558- auto *phiArg = cast<SILPhiArgument>(op.get ());
559- (void )phiArg;
560- return Map::compatibilityMap (ValueOwnershipKind::Guaranteed,
561- UseLifetimeConstraint::MustBeLive);
562- }
563-
564549 // / An end_borrow is modeled as invalidating the guaranteed value preventing
565550 // / any further uses of the value.
566551 return Map::compatibilityMap (ValueOwnershipKind::Guaranteed,
@@ -1054,10 +1039,7 @@ OperandOwnershipKindClassifier::visitBuiltinInst(BuiltinInst *bi) {
10541039// Top Level Entrypoint
10551040// ===----------------------------------------------------------------------===//
10561041
1057- OperandOwnershipKindMap
1058- Operand::getOwnershipKindMap (bool isForwardingSubValue) const {
1059- OperandOwnershipKindClassifier classifier (
1060- getUser ()->getModule (), *this ,
1061- isForwardingSubValue);
1042+ OperandOwnershipKindMap Operand::getOwnershipKindMap () const {
1043+ OperandOwnershipKindClassifier classifier (getUser ()->getModule (), *this );
10621044 return classifier.visit (const_cast <SILInstruction *>(getUser ()));
10631045}
0 commit comments