[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