[InstCombine] Fold intrinsics over multi-use selects when the intrinsic is the only user (#172723)

Closes #172176.

Previously, `FoldOpIntoSelect` wouldn't fold multi-use selects if
`MultiUse` wasn't explicitly true. This prevents useful folding when the
select is used multiple times in the same intrinsic call. Similar to
what is done in `foldOpIntoPhi`, we'll now check that all of the uses
come from a single user, rather than checking that there is only one
use.

GitOrigin-RevId: 9e1a185be463eba0808f30cc4a9521ed1f38b538
2 files changed