[all-commits] [llvm/llvm-project] 0934f6: Precommit vscale-fixups.ll test (NFC)

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Wed Jul 24 07:31:28 PDT 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 0934f6d441183ed58c9b4197d29668bbe2d3ea7d
      https://github.com/llvm/llvm-project/commit/0934f6d441183ed58c9b4197d29668bbe2d3ea7d
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  Precommit vscale-fixups.ll test (NFC)

Precommit test for #100080.

(cherry picked from commit c1b70fa5bfea973d4141e27cf9668e9325609e19)


  Commit: 75642a00e15b722bdfb90726be31f1c8adaeb0c5
      https://github.com/llvm/llvm-project/commit/75642a00e15b722bdfb90726be31f1c8adaeb0c5
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [LSR] Fix matching vscale immediates (#100080)

Somewhat confusingly a `SCEVMulExpr` is a `SCEVNAryExpr`, so can have
> 2 operands. Previously, the vscale immediate matching did not check
the number of operands of the `SCEVMulExpr`, so would ignore any
operands after the first two.

This led to incorrect codegen (and results) for ArmSME in IREE
(https://github.com/iree-org/iree), which sometimes addresses things
that are a `vscale * vscale` multiple away. The test added with this
change shows an example reduced from IREE. The second write should
be offset from the first `16 * vscale * vscale` (* 4 bytes), however,
previously LSR dropped the second vscale and instead offset the write by
`#4, mul vl`, which is an offset of `16 * vscale` (* 4 bytes).

(cherry picked from commit 7fad04e94b7b594389111ae7eca0883ef18dc90b)


Compare: https://github.com/llvm/llvm-project/compare/3651ae013e43...75642a00e15b

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