stage2: Teach Liveness that safety checks do not modify memory

This change adds to Liveness a simple pattern match for the
try-like `.condbr` blocks emitted by Sema's safety checks. This
allows us to determine that these do not modify memory, which
permits us to elide additional loads in the backend.

As @Vexu points out in the main issue, this is probably not a
complete solution on its own. We'll still want a way to reliably
narrow the load/copy when performing several consecutive accesses,
such as `foo.arr[x][y].z`

Resolves https://github.com/ziglang/zig/issues/12215
25d3713b07Cody Tapscott committed on 12/12/2022, 11:48:10 PM· committed by Andrew Kelleyparentd0eef26
1 file changedLine totals unavailable