Skip to content

Commit a7a6cc5

Browse files
committed
Handle escaping addresses in LocalVariableAccessWalker
Fixes rdar://124564951 (Compiler crash when evaluating pointer escape in autoclosure; LifetimeDepenenceScopeFixup; Fatal error: check findPointerEscape() before computing interior liveness.) (cherry picked from commit f1fbbcd)
1 parent dceff4a commit a7a6cc5

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

SwiftCompilerSources/Sources/Optimizer/Utilities/LocalVariableUtils.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,8 @@ extension LocalVariableAccessWalker: AddressUseVisitor {
441441
}
442442

443443
mutating func escapingAddressUse(of operand: Operand) -> WalkResult {
444-
return .abortWalk
444+
visit(LocalVariableAccess(.escape, operand))
445+
return .continueWalk
445446
}
446447

447448
mutating func unknownAddressUse(of operand: Operand) -> WalkResult {

0 commit comments

Comments
 (0)