[all-commits] [llvm/llvm-project] 2d32ee: [mlir][Vector] Update lowering of vector ops to ll...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Thu Apr 9 13:41:07 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2d32ee0d7a4c01209419408e73a4f075ec06c8a7
      https://github.com/llvm/llvm-project/commit/2d32ee0d7a4c01209419408e73a4f075ec06c8a7
  Author: Nicolas Vasilache <ntv at google.com>
  Date:   2020-04-09 (Thu, 09 Apr 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/VectorOps.td
    M mlir/lib/Dialect/Vector/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-contract-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Update lowering of vector ops to llvm intrinsics to use row-major.

Summary:
LLVM matrix intrinsics recently introduced an option to support row-major mode.
This matches the MLIR vector model, this revision switches to row-major.

A corner case related to degenerate sizes was also fixed upstream.
This revision removes the guard against this corner case.

A bug was uncovered on the output vector construction which this revision also fixes.

Lastly, this has been tested on a small size and benchmarked independently: no visible performance regression is observed.

In the future, when matrix intrinsics support per op attribute, we can more aggressively translate to that and avoid inserting MLIR-level transposes.

This has been tested independently to work on small matrices.

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




More information about the All-commits mailing list