[all-commits] [llvm/llvm-project] 23c113: [LV] Allow assume calls in predicated blocks.

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Jan 16 02:18:02 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 23c113802e21253332dc41fba6639106b7b1e461
      https://github.com/llvm/llvm-project/commit/23c113802e21253332dc41fba6639106b7b1e461
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2020-01-16 (Thu, 16 Jan 2020)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/assume.ll

  Log Message:
  -----------
  [LV] Allow assume calls in predicated blocks.

The assume intrinsic is intentionally marked as may reading/writing
memory, to avoid passes moving them around. When flattening the CFG
for predicated blocks, we have to drop the assume calls, as they
are control-flow dependent.

There are some cases where we can do better (when control flow is
preserved), but that is follow-up work.

Fixes PR43620.

Reviewers: hsaito, rengolin, dcaballe, Ayal

Reviewed By: Ayal

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




More information about the All-commits mailing list