[all-commits] [llvm/llvm-project] 95346b: [LV] Enable vectorization of multiple exit loops w...

Philip Reames via All-commits all-commits at lists.llvm.org
Thu Jul 15 08:54:07 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 95346ba87740aabcb82cb3c8d0e722e7b86d93b7
      https://github.com/llvm/llvm-project/commit/95346ba87740aabcb82cb3c8d0e722e7b86d93b7
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-07-15 (Thu, 15 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/LoopVectorize/loop-form.ll
    M llvm/test/Transforms/LoopVectorize/loop-legality-checks.ll
    M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll

  Log Message:
  -----------
  [LV] Enable vectorization of multiple exit loops w/computable exit counts

This change enables vectorization of multiple exit loops when the exit count is statically computable. That requirement - shared with the rest of LV - in turn requires each exit to be analyzeable and to dominate the latch.

The majority of work to support this was done in a set of previous patches. In particular,, 72314466 avoids having multiple edges from the middle block to the exits, and 4b33b2387 which added support for non-latch single exit and multiple exits with a single exiting block. As a result, this change is basically just removing a bailout and adjusting some tests now that the prerequisite work is done and has stuck in tree for a bit.

Differential Revision: https://reviews.llvm.org/D105817




More information about the All-commits mailing list