swift
4ef7f859 - Fix findTransitiveUsesForAddress to handle incomplete scopes

Commit
3 years ago
Fix findTransitiveUsesForAddress to handle incomplete scopes This fixes ScopedAddressValue::computeLiveness in unreachable code scenarios. For example: %storeBorrow = store_borrow %_ to %adr %loadBorrow = load_borrow %storeBorrow apply %f(%loadBorrow) : $@convention(thin) (...) -> Never Now recursively process uses of load_borrow as if they are address uses. Ultimately, this would be more efficiently handled by a recursive lifetime completion utility which would fixup the load_borrow scope before computing the store_borrow liveness. Fixes rdar://99874173: unreachable assert "No user in LiveWithin block"
Author
Committer
Parents
Loading