Alternative to D116817.
This introduces a new value-based folding interface for Or (FoldOr),
which takes 2 values and returns an existing Value or a constant if the
Or can be simplified. Otherwise nullptr is returned. This replaces the
more restrictive CreateOr which takes 2 constants.
This is the used to implement a folder that uses InstructionSimplify.
The logic to simplify Or instructions is moved there. Subsequent
patches are going to transition other CreateXXX to the more general
FoldXXX interface.
I don't think you need to do this explicitly?