llvm-project/llvm/test/Transforms/LowerMatrixIntrinsics
Florian Hahn 1669fddc9f [Matrix] Use alignment info when lowering loads/stores.
This patch updates LowerMatrixIntrinsics to preserve the alignment
specified at the original load/stores and the align attribute for the
pointer argument of the column.major.load/store intrinsics.

We can always use the specified alignment for the load of the first
column. For subsequent columns, the alignment may need to be reduced.

For ConstantInt strides, compute the offset for the start of the column in
bytes and use commonAlignment to get the largest valid alignment.

For non-ConstantInt strides, we need to take the common alignment of the
initial alignment and the element size in bytes.

Reviewers: anemet, Gerolf, hfinkel, andrew.w.kaylor, LuoYuanke, rjmccall

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D81960
2020-06-18 13:19:31 +01:00
..
bigger-expressions-double.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
const-gep.ll [Matrix] Use alignment info when lowering loads/stores. 2020-06-18 13:19:31 +01:00
load-align-volatile.ll [Matrix] Use alignment info when lowering loads/stores. 2020-06-18 13:19:31 +01:00
multiply-add-sub-double-row-major.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
multiply-double-contraction-fmf.ll [Matrix] Use fmuladd for matrix.multiply if allowed. 2019-12-23 14:49:14 +01:00
multiply-double-contraction.ll [Matrix] Use fmuladd for matrix.multiply if allowed. 2019-12-23 14:49:14 +01:00
multiply-double-row-major.ll [Matrix] Add option to use row-major matrix layout as default. 2020-04-06 10:00:56 +01:00
multiply-double.ll
multiply-float-contraction-fmf.ll [Matrix] Use fmuladd for matrix.multiply if allowed. 2019-12-23 14:49:14 +01:00
multiply-float-contraction.ll [Matrix] Use fmuladd for matrix.multiply if allowed. 2019-12-23 14:49:14 +01:00
multiply-float.ll
multiply-fused-multiple-blocks.ll [Matrix] Add align info to some more loads/stores (NFC). 2020-06-16 20:42:59 +01:00
multiply-fused-volatile.ll [Matrix] Preserve volatile when loading loads/stores. 2020-06-18 12:14:19 +01:00
multiply-fused.ll [Matrix] Specify missing alignment in tests (NFC). 2020-06-16 15:37:35 +01:00
multiply-i32-row-major.ll [Matrix] Add option to use row-major matrix layout as default. 2020-04-06 10:00:56 +01:00
multiply-i32.ll
propagate-backward.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
propagate-backwards-unsupported.ll [Matrix] Implement back-propagation of shape information. 2020-01-09 09:48:07 +00:00
propagate-forward.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
propagate-mixed-users.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
propagate-multiple-iterations.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
remarks-inlining.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
remarks-shared-subtrees.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
remarks.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
store-align-volatile.ll [Matrix] Use alignment info when lowering loads/stores. 2020-06-18 13:19:31 +01:00
strided-load-double.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
strided-load-float.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
strided-load-i32.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
strided-store-double.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
strided-store-float.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
strided-store-i32.ll [Matrix] Update load/store intrinsics. 2020-06-18 09:44:52 +01:00
transpose-double-row-major.ll [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose 2020-05-28 12:13:32 -07:00
transpose-double.ll
transpose-float-row-major.ll [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose 2020-05-28 12:13:32 -07:00
transpose-float.ll
transpose-i32-row-major.ll [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose 2020-05-28 12:13:32 -07:00
transpose-i32.ll