If a value lattice is constantrange_including_undef, replaceSignInst to
unsigned Inst is invalid. But SCCPSolver didn't propagate undef when
visiting some instructions. This patch fixes this.
https://alive2.llvm.org/ce/z/85Ec-i
https://alive2.llvm.org/ce/z/jVZf67
https://alive2.llvm.org/ce/z/hZCw7k
Hm, this seems a bit inaccurate, in that something like zext i32 undef to i64 will still produce a value where the top bits are all zero, not undef. This would be more precisely modeled by treating undef as a full-set input. But then we would no longer model the case where undef doesn't matter as accurately...