When LoopVectorize if-converts loops it creates instructions that
were no present within the original IR. These instructions make
the VPlan look more costly that it actually is and typically makes
it hard to reason about accurate use counts for blend operations.
This patch add a cut down version of PatternMatch that can operate
on VPInstructions and use this interface to allow VPInstruction
simplification. Specifically, it is used to simplify VPlan IR
related to predicate mask construction.
This probably should also match VPWidenRecipe & VPReplicateRecipe with Select/And/Or and VPWidenSelectRecipe.