[all-commits] [llvm/llvm-project] c3c95b: [mlir] [VectorOps] Improve lowering of extract_str...

Aart Bik via All-commits all-commits at lists.llvm.org
Fri Aug 7 09:21:36 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c3c95b9c808519662afe8b9053aa88b5be451d1d
      https://github.com/llvm/llvm-project/commit/c3c95b9c808519662afe8b9053aa88b5be451d1d
  Author: aartbik <ajcbik at google.com>
  Date:   2020-08-07 (Fri, 07 Aug 2020)

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir] [VectorOps] Improve lowering of extract_strided_slice (and friends like shape_cast)

Using a shuffle for the last recursive step in progressive lowering not only
results in much more compact IR, but also more efficient code (since the
backend is no longer confused on subvector aliasing for longer vectors).

E.g. the following

  %f = vector.shape_cast %v0: vector<1024xf32> to vector<32x32xf32>

yields much better x86-64 code that runs 3x faster than the original.

Reviewed By: bkramer, nicolasvasilache

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




More information about the All-commits mailing list