If one of the operands is a transposed splat, the transpose can be
removed.
This is useful to simplify when transposes are distributed to operands
of a matmul:
- k^T -> k
- (A * k)^t -> A^t * k
Paths
| Differential D130177
[Matrix] Simplify matmuls with scalars ClosedPublic Authored by thegameg on Jul 20 2022, 7:59 AM.
Details
Summary If one of the operands is a transposed splat, the transpose can be This is useful to simplify when transposes are distributed to operands
Diff Detail
Event Timelinethegameg added a parent revision: D130174: [Matrix] Refactor transpose distribution. NFC.Jul 21 2022, 2:37 AM
thegameg marked an inline comment as done.
Comment Actions LGTM, thanks!
This revision is now accepted and ready to land.Sep 2 2022, 1:33 PM This revision was landed with ongoing or failed builds.Sep 2 2022, 3:50 PM Closed by commit rG81bdb4068d92: [Matrix] Simplify matmuls with scalars (authored by thegameg). · Explain Why This revision was automatically updated to reflect the committed changes. thegameg marked an inline comment as done.
Revision Contents
Diff 457727 llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
llvm/test/Transforms/LowerMatrixIntrinsics/after-transpose-opts.ll
|
nit: is inline the right thing here or should this be static instead?