Improves the "Control-Flow cannot be substituted for a select" optimization remark.
The patch provides precise instruction debug location at which this remark occurs and the remark message has also been changed for better clarity, namely "if-conversion is not possible due to lack of support of predication". A separate test case has also been added for this purpose, on top of some modifications in the existing test cases.
You could use a reference to an instruction pointer here I think (Instruction *&SelectRemarkInstruction). This would simplify the code slightly (a few less * and &) with the bonus of not being able to pass in nullptr).