@@ -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
@@ -553,15 +547,6 @@ OperandOwnershipKindClassifier::visitReturnInst(ReturnInst *ri) {
553547
554548OperandOwnershipKindMap
555549OperandOwnershipKindClassifier::visitEndBorrowInst (EndBorrowInst *i) {
556- // If we are checking a subobject, make sure that we are from a guaranteed
557- // basic block argument.
558- if (isCheckingSubObject ()) {
559- auto *phiArg = cast<SILPhiArgument>(op.get ());
560- (void )phiArg;
561- return Map::compatibilityMap (ValueOwnershipKind::Guaranteed,
562- UseLifetimeConstraint::MustBeLive);
563- }
564-
565550 // / An end_borrow is modeled as invalidating the guaranteed value preventing
566551 // / any further uses of the value.
567552 return Map::compatibilityMap (ValueOwnershipKind::Guaranteed,
@@ -1065,10 +1050,7 @@ OperandOwnershipKindClassifier::visitBuiltinInst(BuiltinInst *bi) {
10651050// Top Level Entrypoint
10661051// ===----------------------------------------------------------------------===//
10671052
1068- OperandOwnershipKindMap
1069- Operand::getOwnershipKindMap (bool isForwardingSubValue) const {
1070- OperandOwnershipKindClassifier classifier (
1071- getUser ()->getModule (), *this ,
1072- isForwardingSubValue);
1053+ OperandOwnershipKindMap Operand::getOwnershipKindMap () const {
1054+ OperandOwnershipKindClassifier classifier (getUser ()->getModule (), *this );
10731055 return classifier.visit (const_cast <SILInstruction *>(getUser ()));
10741056}
0 commit comments