[all-commits] [llvm/llvm-project] 078776: [mlir] [VectorOps] Progressively lower vector.oute...
Aart Bik via All-commits
all-commits at lists.llvm.org
Thu Mar 12 13:45:52 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 078776a679b94c1fc970febe3c72f0b337af9a97
https://github.com/llvm/llvm-project/commit/078776a679b94c1fc970febe3c72f0b337af9a97
Author: aartbik <ajcbik at google.com>
Date: 2020-03-12 (Thu, 12 Mar 2020)
Changed paths:
M mlir/include/mlir/Dialect/VectorOps/VectorOps.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/VectorOps/VectorTransforms.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/VectorOps/vector-contract-transforms.mlir
Log Message:
-----------
[mlir] [VectorOps] Progressively lower vector.outerproduct to LLVM
Summary:
This replaces the direct lowering of vector.outerproduct to LLVM with progressive lowering into elementary vectors ops to avoid having the similar lowering logic at several places.
NOTE1: with the new progressive rule, the lowered llvm is slightly more elaborate than with the direct lowering, but the generated assembly is just as optimized; still if we want to stay closer to the original, we should add a "broadcast on extract" to shuffle rewrite (rather than special cases all the lowering steps)
NOTE2: the original outerproduct lowering code should now be removed but some linalg test work directly on vector and contain some dead code, so this requires another CL
Reviewers: nicolasvasilache, andydavis1
Reviewed By: nicolasvasilache, andydavis1
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75956
More information about the All-commits
mailing list