D69477 makes us keep non-null assumptions at the original call site
when sinking calls. It also does this when the non-null argument is
undef, which is incorrect - it can lead us to assume some code invokes
undefined behavior when it actually doesn't. This change avoids
creating non-null assumptions for undef.
Fixes PR44154.
Move before if above ?