As far as I understand any binary op with poison as either operand will
constant fold to poison, so this check will never trigger.
`llvm::ConstantFoldBinaryInstruction` seems to confirm this?
I think this ended up getting left behind because originally
shufflevectors with undef indices produced undef elements, and we
couldn't pull the shuffle across some binops like `or undef, -1 --> -1`.
This code was added in 8c65515082 to
partially fix it and further extended in
f7499011ca, originally checking for undef
but changed to check for poison in cd54c47424
But nowadays shufflevectors with undef indices are treated as poison
indices as of 575fdea70a, and so produce
poison elements, so this is no longer an issue