[PATCH] D101164: [CodeGen][ARM] Implement atomicrmw as pseudo operations at -O0
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 4 14:29:56 PDT 2021
efriedma added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:19060
ARMTargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const {
+ // At -O0 expand pseudo-instructions after register allocation to avoid
+ // inserting spills between ldrex/strex.
----------------
chill wrote:
> Why are we doing this only at `-O0` ?
As far as we know, the problem with spills only shows up with fast regalloc (i.e. at -O0). Using the pesudo-instruction at other optimization levels is possible, but I'm not sure what the performance implications would be.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101164/new/
https://reviews.llvm.org/D101164
More information about the llvm-commits
mailing list