As part of D84741, this adds a target hook for the preferPredicatedReductionSelect option and makes use of it under MVE, allowing us to tail predicate most reduction loops.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
nit about the subject line:
[ARM][LV] Add a preferPredicatedReductionSelect target hook
[LV] - > [TTI]?
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | ||
---|---|---|
1592–1598 | Not sure if this also needs to be split off from the TTI part, so that we have 3 parts: LV, TTI, and the ARM change. But I am fine with this, and will leave this up to you whatever you think is most convenient (you can also just commit the TTI part, then this change). | |
1607 | hey, that's new, I forgot but do we have a (negative) test for half types? :-) | |
llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll | ||
269 | I recently reorganised all the tail folding test (because it was getting a bit of a mess). |
Thanks. This rejigs some tests (and adds one for f16).
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | ||
---|---|---|
1607 | Yeah, this is really to stop pointers, which can cause problem as live out values. |
Not sure if this also needs to be split off from the TTI part, so that we have 3 parts: LV, TTI, and the ARM change. But I am fine with this, and will leave this up to you whatever you think is most convenient (you can also just commit the TTI part, then this change).