[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