[all-commits] [llvm/llvm-project] 3e1d5e: [LowerMatrixIntrinsics] Preserve volatile and alig...
Akshat Dalal via All-commits
all-commits at lists.llvm.org
Mon Jul 13 12:51:36 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3e1d5e38bd9383001a6a2abff2e0fdcdf1e8313f
https://github.com/llvm/llvm-project/commit/3e1d5e38bd9383001a6a2abff2e0fdcdf1e8313f
Author: Akshat Dalal <adalal at amd.com>
Date: 2026-07-13 (Mon, 13 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-float.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-int.ll
A llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-volatile-align.ll
Log Message:
-----------
[LowerMatrixIntrinsics] Preserve volatile and alignment when flattening loads (#205759)
The dot-product flatten path rebuilt a matrix.column.major.load with
Builder.CreateLoad, dropping the volatile flag and the load's specified
alignment. Dropping volatile is a miscompile, and falling back to the
type's default ABI alignment can over-claim and fault on
alignment-sensitive targets.
We should instead use CreateAlignedLoad with the intrinsic's volatile
operand and getAlignForIndex, matching the non-fused load lowering in
loadMatrix() (the standard LowerColumnMajorLoad path), which already
preserves both.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list