Add a bit more logic into the 'FalseLaneZeros' tracking to enable horizontal reductions and also make the VADDV variants validForTailPredication.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | ||
---|---|---|
609 | Please add a comment that Unknown is the worklist of instructions that still need to be analysed, or something along those lines. | |
635 | I had to think very hard again why we are returning false here (it's obvious now), but please add a comment to help the reader a bit here. Or perhaps create a helper "MessingAroundWithTheLanes", which invokes retainsPreviousHalfElement and isHorizontalReduction? | |
669 | I was looking at Unknown again, and was wondering if it would be good to assert that Unknown should be empty at this point here. If I am not mistaken, that's what we expect here? That would require to remove items from Unknown where we insert it into to Predicated at line 667 above, but seems like a good check? |
Please add a comment that Unknown is the worklist of instructions that still need to be analysed, or something along those lines.