mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
The `isEscaping` function is called a lot from ARCSequenceOpt and ReleaseHoisting. To avoid quadratic complexity for large functions, limit the amount of work what the EscapeUtils are allowed to to. This keeps the complexity linear. The arbitrary limit is good enough for almost all functions. It lets the EscapeUtils do several hundred up/down walks which is much more than needed in most cases. Fixes a compiler hang https://github.com/apple/swift/issues/63846 rdar://105795976
8.2 KiB
8.2 KiB