llvm/lib
Philip Reames 459d220c68 [CaptureTracking] Support atomicrmw and cmpxchg
These atomic operations are conceptually both a load and store from the same location. As such, we can treat them as the most conservative of those two components which in practice, means we can treat them like stores. An cmpxchg or atomicrmw captures the values, but not the locations accessed.

Note: We can probably be more aggressive about the comparison value in an cmpxhg since to have it be in memory, it must already be captured, but I figured it was better to avoid that for the moment.

Note 2: It turns out that since we don't actually support cmpxchg of pointer type, writing a negative test is impossible.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261245 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-18 19:23:27 +00:00
..
Analysis [CaptureTracking] Support atomicrmw and cmpxchg 2016-02-18 19:23:27 +00:00
AsmParser Remove autoconf support 2016-01-26 21:29:08 +00:00
Bitcode Bitcode writer: fix a typo, using getName() instead of getSourceFileName() 2016-02-16 22:07:03 +00:00
CodeGen Make header self-contained. NFC. 2016-02-18 18:02:48 +00:00
DebugInfo [DebugInfoPDB] Add source / line number accessors for PDB. 2016-02-18 18:47:29 +00:00
ExecutionEngine Fix build LLVM with -D LLVM_USE_INTEL_JITEVENTS:BOOL=ON on Windows 2016-02-16 23:52:18 +00:00
Fuzzer [libFuzzer] fix the libFuzzer bot 2016-02-18 02:02:40 +00:00
IR Add support for memory operations (load/store/gep) in C API echo test 2016-02-17 22:51:03 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
LTO [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +00:00
MC [codeview] Bail on a DBG_VALUE register operand with no register 2016-02-16 21:49:26 +00:00
Object Represent the dynamic table itself with a DynRegionInfo. 2016-02-17 16:48:00 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +00:00
ProfileData Add a profile summary class specific to instrumentation profiles. 2016-02-17 18:18:47 +00:00
Support Simplify users of StringRef::{l,r}trim (NFC) 2016-02-16 02:06:01 +00:00
TableGen Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Target [AArch64] Reduce vector insert/extract cost for Kryo 2016-02-18 18:35:45 +00:00
Transforms Reapply commit r259357 with a fix for PR26629 2016-02-18 14:14:40 +00:00
CMakeLists.txt
LLVMBuild.txt