[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