This patch mainly reorganising the logic in ValidateMVEInst because it was a bit difficult to follow... The important change is that we now clear the CurrentPredicate when we find an instruction which would completely overwrite the VPR. This fix essentially means we're back to not really being able to handle VPT instructions when tail predicating.
I understood there is a NFC and non-NFC part of this patch. Is worth separating this out?
|2849 ↗||(On Diff #291566)|
High-level question: is this worth to create a separate patch for this? Because we are adding MVEDomain, is this easily tested with assembly/disassembly tests?
|2867 ↗||(On Diff #291566)|
This is redundant and we can just use the predicate on line 2848?
Can you clarify here if the "this means" applies more to the second point above, or to both?
a large VPT -> a large VPT block?
each the predication -> each predicate?
mve -> MVE
Perhaps just a nit about the message, but we are not really creating new VPT blocks here?
Beginning -> Beginning of?
Move this where it is used.