swift
8110746b - TempRValueElimination: delete `debug_value` instructions which are outside of the stack location's liverange

Commit
68 days ago
TempRValueElimination: delete `debug_value` instructions which are outside of the stack location's liverange We already move `debug_value` instructions into the liverange in such cases. But we didn't do this if the `debug_value`'s operand is a projection of the `alloc_stack`. The fix is to delete such `debug_value` instructions. It's not ideal, however this is a very rare case. Also, we need to delete dead projection instructions. Dead projection instructions can appear outside of the liverange in case they were only used by an (now deleted) `debug_value` or `destroy_addr` instruction. Fixes a SIL ownership verification error https://github.com/swiftlang/swift/issues/87980 rdar://172950559
Author
Committer
Parents
Loading