mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Both of these can cause us to insert destroy_addr in the wrong locations. 1. The first causes us to insert destroys for parts of values that are not actually on the boundary since we didn't use our mask and instead used all of the liveness information. 2. We were merging successor information using '&=' instead of '|=. This caused a problem if we had multiple regions for the same successor. In such a case, we would not have anything in common for the regions causing us to not have any bits in common, resulting in us inserting too many destroy_addr instead of skipping as we were supposed to. rdar://112434492
50 KiB
50 KiB