JIT: update non-null assertion prop to destructure VNs (#49238)
authorAndy Ayers <andya@microsoft.com>
Sat, 6 Mar 2021 19:15:50 +0000 (11:15 -0800)
committerGitHub <noreply@github.com>
Sat, 6 Mar 2021 19:15:50 +0000 (11:15 -0800)
commit1d36a90ad6fd2a7985bc10f7b2c617caaf8844d5
treec90ca51ed7b34fda7df0ce9744914cef7aa5928f
parent17799a5a4dc2fcd5c4ba89819e2a105882f7a31f
JIT: update non-null assertion prop to destructure VNs (#49238)

In addition to checking for assertions based on the VN of an address, try and
destructure the VN to find the "base" address, and check its VNs as well.

This lets us get rid of some extra null checks, typically ones that are at
an offset from an existing non-null pointer.

Closes #49180.
src/coreclr/jit/assertionprop.cpp
src/coreclr/jit/compiler.h