diff options
author | David Spickett <david.spickett@linaro.org> | 2023-07-03 13:50:35 +0000 |
---|---|---|
committer | David Spickett <david.spickett@linaro.org> | 2023-07-03 14:05:49 +0000 |
commit | ab3bb86d4487fa904a18b6350901b3a4e9470196 (patch) | |
tree | 2bc60f0108de0adac72cfd686d4158471f1cfa7d /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | |
parent | 29f4c398717184a019791ed52d1d0d69ed5dabb6 (diff) | |
download | llvm-ab3bb86d4487fa904a18b6350901b3a4e9470196.zip llvm-ab3bb86d4487fa904a18b6350901b3a4e9470196.tar.gz llvm-ab3bb86d4487fa904a18b6350901b3a4e9470196.tar.bz2 |
Revert "[ARM] Adjust strd/ldrd codegen alignment requirements"
This reverts commit 92a9c30c61da7f973d55cd84fade424159b9cac9.
This has caused a test failure in the 2nd stage of Linaro's
Arm 32 bit buildbots.
LLVM::simplified-template-names.s
7: error: Simplified template DW_AT_name could not be reconstituted:
check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8: original: f3<unsigned char, (unsigned char)'\x00'>
check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9: reconstituted: f3<unsigned char, (unsigned char)'\x7f'>
check:10'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I suspect a load/store is slightly off.
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp index 93db983..eb2f6cd 100644 --- a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp +++ b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp @@ -2289,7 +2289,10 @@ bool ARMPreAllocLoadStoreOpt::CanFormLdStDWord( return false; Align Alignment = (*Op0->memoperands_begin())->getAlign(); - Align ReqAlign = STI->getDualLoadStoreAlignment(); + const Function &Func = MF->getFunction(); + Align ReqAlign = + STI->hasV6Ops() ? TD->getABITypeAlign(Type::getInt64Ty(Func.getContext())) + : Align(8); // Pre-v6 need 8-byte align if (Alignment < ReqAlign) return false; |