mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
I found this bug by inspection. This is an important bug to fix since this pass runs at -Onone and the bug results in the compiler hitting an unreachable. The way the unreachable is triggered is that when we detect that we are going to promote a box, if we see a (struct_element_addr (project_box box)), we don't map the struct_element_addr to a cloned value. If we have a load, this is not an issue, since we are mapping the load to the struct_extract. But if we have /any/ other non-load users of the struct_element_addr, the cloner will attempt to look up the struct_element_addr and will be unable to find it, hitting an unreachable. rdar://32776202