This NFC (intended) patch has several small changes:
- It renames PredicationStyle to TailFoldingStyle.
- It renames TTI.emitActiveLaneMask() to TTI.getPreferredTailFoldingStyle()
- Simplifies some of its uses in the LoopVectorizer
Rationale: To my surprise PredicationStyle::None did not mean 'no
predication', but rather 'no active lane mask intrinsic', such that the
predicate is created using a splat + compare with stepvector. The enum is
also highly specific to tail folding, so it seems better to name this
around that feature, i.e. 'tail folding style'.
This also makes it more amenable to extend it to other tail folding styles,
such as the one added in D142109.
I'm not sure this statement is quite true. I think the tripcount will overflow, but will overflow to 0 for powers of 2. The induction variable will also overflow to 0 and so the comparison used to branch back is safe, i.e.
I am not sure if this was by design, or that it's just pure luck that this works. :)