[PATCH] D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size

Hideki Saito via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 27 11:29:48 PDT 2018


hsaito added a comment.

In https://reviews.llvm.org/D50480#1213673, @Ayal wrote:

> This patch aims to model a rather special early-exit condition that restricts the execution of the entire loop body to certain iterations, rather than model general compare instructions. If preferred, an "`EarlyExit`" extended opcode can be introduced instead of the controversial `ICmpULE`. This should be easy to revisit in the future if needed.


This patch is fine as is, or rather much better with ICmpULE than EarlyExit.

> This patch focuses on modeling an early-exit compare and then generating it, w/o making strategic design decisions supporting future vplan-to-vplan transformations, the interfaces they may need, potential templatization, or other long-term high-level VPlan concerns. These should be explained and discussed separately along with pros and cons of alternative solutions for supporting the desired interfaces and for holding their storage, including subclassing VPInstructions, using detached Instructions, or other possibilities.

Sure. I agree.

[Full disclosure] I have a big mental barrier in accepting your "early-exit" terminology here since I relate that term to "break out of the loop", but that's just the terminology difference. Nothing to do with the substance of this patch. [End of full disclosure]


https://reviews.llvm.org/D50480





More information about the llvm-commits mailing list