forked from OSchip/llvm-project
dfd1bbd00a
Now that we can fold some transposes into multiplies (CM: A * B^t and RM: A^t * B), we want to move them around to create the optimal expressions: * fold away double transposes while still using them to assert the shape * sink transposes hoping they cancel out * lift transposes when both operands are transposed This also modifies the matrix remarks to include the number of exposed transposes (i.e. transposes that we couldn't fold into a multiply). The adjustment to the test remarks-inlining is a bit subtle: I am changing the double transpose to a single transpose so that we don't remove it completely. More importantly this changes some of the total instruction count, most notable stores because we can no longer use a vector store. Differential Revision: https://reviews.llvm.org/D102733 |
||
---|---|---|
.. | ||
bigger-expressions-double.ll | ||
const-gep.ll | ||
load-align-volatile.ll | ||
multiply-add-sub-double-row-major.ll | ||
multiply-double-contraction-fmf.ll | ||
multiply-double-contraction.ll | ||
multiply-double-row-major.ll | ||
multiply-double.ll | ||
multiply-float-contraction-fmf.ll | ||
multiply-float-contraction.ll | ||
multiply-float.ll | ||
multiply-fused-loops.ll | ||
multiply-fused-multiple-blocks.ll | ||
multiply-fused-volatile.ll | ||
multiply-fused.ll | ||
multiply-i32-row-major.ll | ||
multiply-i32.ll | ||
multiply-left-transpose-row-major.ll | ||
multiply-minimal.ll | ||
multiply-right-transpose.ll | ||
propagate-backward.ll | ||
propagate-backwards-unsupported.ll | ||
propagate-forward.ll | ||
propagate-mixed-users.ll | ||
propagate-multiple-iterations.ll | ||
remarks-inlining.ll | ||
remarks-shared-subtrees.ll | ||
remarks.ll | ||
store-align-volatile.ll | ||
strided-load-double.ll | ||
strided-load-float.ll | ||
strided-load-i32.ll | ||
strided-store-double.ll | ||
strided-store-float.ll | ||
strided-store-i32.ll | ||
transpose-double-row-major.ll | ||
transpose-double.ll | ||
transpose-float-row-major.ll | ||
transpose-float.ll | ||
transpose-i32-row-major.ll | ||
transpose-i32.ll | ||
transpose-opts.ll |