ARM: use LLVM's atomicrmw instructions when ldrex/strex are available.
Having some kind of weird kernel-assisted ABI for these when the native instructions are available appears to be (and should be) the exception; OSs have been gradually opting in for years and the code was getting silly. So let LLVM decide whether it's possible/profitable to inline them by default. Patch by Phoebe Buckheister. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212598 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/Basic/Targets.cpp 11 additions, 17 deletionslib/Basic/Targets.cpp
- test/CodeGen/arm-atomics-m.c 35 additions, 0 deletionstest/CodeGen/arm-atomics-m.c
- test/CodeGen/arm-atomics-m0.c 35 additions, 0 deletionstest/CodeGen/arm-atomics-m0.c
- test/CodeGen/arm-atomics.c 37 additions, 0 deletionstest/CodeGen/arm-atomics.c
Loading
Please register or sign in to comment