[all-commits] [llvm/llvm-project] 3f4bad: [AArch64] Fix for the pre-indexed paired load/stor...
Stelios Ioannou via All-commits
all-commits at lists.llvm.org
Wed May 5 07:15:54 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3f4bad5eadacfc5322817eaa062dd272b52cfc54
https://github.com/llvm/llvm-project/commit/3f4bad5eadacfc5322817eaa062dd272b52cfc54
Author: Stelios Ioannou <stelios.ioannou at arm.com>
Date: 2021-05-05 (Wed, 05 May 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/strpre-str-merge.mir
Log Message:
-----------
[AArch64] Fix for the pre-indexed paired load/store optimization.
This patch fixes an issue where a pre-indexed store e.g.,
STR x1, [x0, #24]! with a store like STR x0, [x0, #8] are
merged into a single store: STP x1, x0, [x0, #24]!
. They shouldn’t be merged because the second store uses
x0 as both the stored value and the address and so it needs to be using the updated x0.
Therefore, it should not be folded into a STP <>pre.
Additionally a new test case is added to verify this fix.
Differential Revision: https://reviews.llvm.org/D101888
Change-Id: I26f1985ac84e970961e2cdca23c590fa6773851a
More information about the All-commits
mailing list