Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:45 PM
/// Converts: /// %extract = struct_extract %src : $TypeWithSingleOwnershipValue /// %copy = copy_value %extract : $OwnershipValue /// To: /// %copy = copy_value %src : $TypeWithSingleOwnershipValue /// (%extracted,...) = destructure %copy : $OwnershipValue (edited)
12:45 PM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:45 PM
/// For types with a single reference member, converts /// src -> struct_extract -> copy /// into /// src -> copy -> destructure
12:46 PM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:46 PM
// Delete a dead forwarded value before sinking to avoid this pattern: // %outerVal = destructure_struct %def // destroy %outerVal <= delete this destroy now // destroy %def <= so we don't delete this one later