Skip to content

Commit cdcd0bf

Browse files
committed
Fix OperandOwnership for convert_escape_to_noescape.
This is only used for OSSA verification currently, but will be a correctness issue when OSSA canonicalization is enabled.
1 parent ce2a7cf commit cdcd0bf

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/SIL/IR/OperandOwnership.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,14 @@ OPERAND_OWNERSHIP(UnownedInstantaneousUse, UnmanagedAutoreleaseValue)
216216
OPERAND_OWNERSHIP(PointerEscape, ProjectBox) // The result is a T*.
217217
OPERAND_OWNERSHIP(PointerEscape, ProjectExistentialBox)
218218
OPERAND_OWNERSHIP(PointerEscape, UncheckedOwnershipConversion)
219+
OPERAND_OWNERSHIP(PointerEscape, ConvertEscapeToNoEscape)
219220

220221
// Instructions that escape reference bits with unenforced lifetime.
222+
// TODO: verify that BitwiseEscape results always have a trivial type.
221223
OPERAND_OWNERSHIP(BitwiseEscape, UncheckedBitwiseCast)
222224
OPERAND_OWNERSHIP(BitwiseEscape, ValueToBridgeObject)
223225
OPERAND_OWNERSHIP(BitwiseEscape, RefToRawPointer)
224226
OPERAND_OWNERSHIP(BitwiseEscape, UncheckedTrivialBitCast)
225-
// FIXME: verify that no-escape results are always trivial
226-
OPERAND_OWNERSHIP(BitwiseEscape, ConvertEscapeToNoEscape)
227227

228228
// Instructions that end the lifetime of an owned value.
229229
OPERAND_OWNERSHIP(DestroyingConsume, AutoreleaseValue)

0 commit comments

Comments
 (0)