This is basically a copy and paste of the same logic we do in `computeKnownBits` but adapts it for just `isKnownNonZero`. Differential Revision: https://reviews.llvm.org/D157801
Differential Revision: https://reviews.llvm.org/D157798