Go to file
Robin Morisset ed3d48f161 Refactor AtomicExpandPass and add a generic isAtomic() method to Instruction
Summary:
Split shouldExpandAtomicInIR() into different versions for Stores/Loads/RMWs/CmpXchgs.
Makes runOnFunction cleaner (no more redundant checking/casting), and will help moving
the X86 backend to this pass.

This requires a way of easily detecting which instructions are atomic.
I followed the pattern of mayReadFromMemory, mayWriteOrReadMemory, etc.. in making
isAtomic() a method of Instruction implemented by a switch on the opcodes.

Test Plan: make check

Reviewers: jfb

Subscribers: mcrosier, llvm-commits

Differential Revision: http://reviews.llvm.org/D5035

llvm-svn: 217080
2014-09-03 21:29:59 +00:00
clang Add ubsan/not_ubsan features to Clang lit tests and use 2014-09-03 19:46:32 +00:00
clang-tools-extra ClangTidy misc-argument-comment check: don't check arguments to template 2014-09-03 14:56:30 +00:00
compiler-rt Fix fast stack unwind on ARM to support code generated with GCC. 2014-09-03 21:10:44 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Implement isinf builtin 2014-09-03 15:55:40 +00:00
libcxx Detection for _LIBCPP_HAS_NO_MONOTONIC_CLOCK caused several more build breakages 2014-09-03 18:48:28 +00:00
libcxxabi Allow LIBCXXABI_SINGLE_THREADED to be defined by build scripts 2014-09-02 21:23:49 +00:00
lld [mach-o] Improve x86_64 reference kind switch statements. 2014-09-03 21:09:24 +00:00
lldb Really fix the LLDB build 2014-09-03 00:40:36 +00:00
llvm Refactor AtomicExpandPass and add a generic isAtomic() method to Instruction 2014-09-03 21:29:59 +00:00
openmp Fix a crash that occurred under obscure circumstances during library shutdown 2014-09-03 11:34:33 +00:00
polly Fix formatting 2014-08-31 16:21:20 +00:00