[all-commits] [llvm/llvm-project] 291e0d: AArch64: support 8 & 16-bit atomic operations in G...
Tim Northover via All-commits
all-commits at lists.llvm.org
Wed Jul 21 01:35:30 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 291e0daa6ed658a92a0adbf2a8bba5ca02560b93
https://github.com/llvm/llvm-project/commit/291e0daa6ed658a92a0adbf2a8bba5ca02560b93
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmpxchg.mir
Log Message:
-----------
AArch64: support 8 & 16-bit atomic operations in GlobalISel
We have SelectionDAG patterns for 8 & 16-bit atomic operations, but they
assume the value types will have been legalized to 32-bits. So this adds
the ability to widen them to both AArch64 & generic GISel
infrastructure.
Commit: 19d2e42be2cd586456ae03374b5fd3e22d9d14f2
https://github.com/llvm/llvm-project/commit/19d2e42be2cd586456ae03374b5fd3e22d9d14f2
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2021-07-21 (Wed, 21 Jul 2021)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/test/CodeGen/ARM/tailcc-call.ll
Log Message:
-----------
ARM: don't return by popping PC if we have to adjust the stack afterwards.
In mandatory tail calling conventions we might have to deallocate stack
space used by our arguments before return. This happens after popping
CSRs, so the pop cannot be turned into the return itself in this case.
The else branch here was already a nop, so removing it as a tidy-up.
Compare: https://github.com/llvm/llvm-project/compare/2d80bbd939dc...19d2e42be2cd
More information about the All-commits
mailing list