[note: I tried hard to make a test for this. I thought Hexagon might be a good target, but alas it has a control register that aliases all of its predicate registers, which makes AggressiveAntiDependencyBreaker bail out even after this patch]
For targets that have a predicate register class, we want to be able to break antidepedencies in that regclass. This patch enhances AggressiveAntiDepBreaker to understand that even though an instruction is predicated, it may still unconditionally read the predicate operand and so can be handled by the existing logic.
To do this, a target hook is created. No test as no targets have this functionality.
We'd need to document whether Reg must already occur as a read register in one of the MI's MO, or if this function should simply return false in this case.