Reverse of the backend fold from D100177 (PR44136), this is only valid if we freeze the not source value.
If we require the freeze we're not actually reducing the instruction count - should we limit this to cases where 'X' isGuaranteedNotToBeUndefOrPoison?
https://alive2.llvm.org/ce/z/PgAUx5
https://alive2.llvm.org/ce/z/8uRSz6