[PATCH] D26120: [Cortex-M0] Atomic lowering
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 3 02:14:15 PDT 2016
jmolloy requested changes to this revision.
jmolloy added inline comments.
This revision now requires changes to proceed.
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:12880
unsigned Size = AI->getType()->getPrimitiveSizeInBits();
- return (Size <= (Subtarget->isMClass() ? 32U : 64U))
+ bool hasAtomicRMW = !Subtarget->isThumb() || Subtarget->hasV8MBaselineOps();
+ return (Size <= (Subtarget->isMClass() ? 32U : 64U) && hasAtomicRMW)
----------------
What about ARMv7-A/R here? Previously we'd return LLSC in this case.
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:12894
+ bool hasAtomicCmpXchg =
+ !Subtarget->isThumb() || Subtarget->hasV8MBaselineOps();
+ return getTargetMachine().getOptLevel() != 0 && hasAtomicCmpXchg;
----------------
Same here - ARMv7-AR?
Repository:
rL LLVM
https://reviews.llvm.org/D26120
More information about the llvm-commits
mailing list