mirror of
https://github.com/apple/swift.git
synced 2026-06-20 15:42:51 +02:00
541664237c
The pass merges to adjacent borrow scopes in a basic block. ``` %2 = begin_borrow %1 use(%2) end_borrow %2 ... %6 = begin_borrow %1 use(%6) end_borrow %6 ``` -> ``` %2 = begin_borrow %1 use(%2) ... use(%2) end_borrow %2 ``` This helps other optimizations, like common-subexpression-elimination, because the borrow liveranges are larger and not split.