aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/IRObjectFile.cpp
diff options
context:
space:
mode:
authorJF Bastien <jfb@google.com>2015-03-04 15:47:57 +0000
committerJF Bastien <jfb@google.com>2015-03-04 15:47:57 +0000
commitf14889ee3474354e81bf58fe1c4f87739f1f22b5 (patch)
treed866d4f8bd26a85e6589287f2ff296e9833ac464 /llvm/lib/Object/IRObjectFile.cpp
parentc925808ee50a3b57f0ab96da0642adcee1685aba (diff)
downloadllvm-f14889ee3474354e81bf58fe1c4f87739f1f22b5.zip
llvm-f14889ee3474354e81bf58fe1c4f87739f1f22b5.tar.gz
llvm-f14889ee3474354e81bf58fe1c4f87739f1f22b5.tar.bz2
Mutate TargetLowering::shouldExpandAtomicRMWInIR to specifically dictate how AtomicRMWInsts are expanded.
Summary: In PNaCl, most atomic instructions have their own @llvm.nacl.atomic.* function, each one, with a few exceptions, represents a consistent behaviour across all NaCl-supported targets. Unfortunately, the atomic RMW operations nand, [u]min, and [u]max aren't directly represented by any such @llvm.nacl.atomic.* function. This patch refines shouldExpandAtomicRMWInIR in TargetLowering so that a future `Le32TargetLowering` class can selectively inform the caller how the target desires the atomic RMW instruction to be expanded (ie via load-linked/store-conditional for ARM/AArch64, via cmpxchg for X86/others?, or not at all for Mips) if at all. This does not represent a behavioural change and as such no tests were added. Patch by: Richard Diamond. Reviewers: jfb Reviewed By: jfb Subscribers: jfb, aemerson, t.p.northover, llvm-commits Differential Revision: http://reviews.llvm.org/D7713 llvm-svn: 231250
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions