[all-commits] [llvm/llvm-project] a8b7e5: [mlir] Set insertion point of vector constant to t...

Amy Zhuang via All-commits all-commits at lists.llvm.org
Thu Jul 29 16:03:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8b7e56f65c78a49ba0297c4ecabbd643fa40c25
      https://github.com/llvm/llvm-project/commit/a8b7e56f65c78a49ba0297c4ecabbd643fa40c25
  Author: Amy Zhuang <amy.zhuang at intel.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir

  Log Message:
  -----------
  [mlir] Set insertion point of vector constant to the top of the vectorized loop body

When we vectorize a scalar constant, the vector constant is inserted before its
first user if the scalar constant is defined outside the loops to be vectorized.
It is possible that the vector constant does not dominate all its users. To fix
the problem, we find the innermost vectorized loop that encloses that first user
and insert the vector constant at the top of the loop body.

Reviewed By: nicolasvasilache

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




More information about the All-commits mailing list