llvm/include/llvm-c
Eli Friedman ff03048c13 LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible.  I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28 21:48:00 +00:00
..
Transforms Add LLVMAddAlwaysInlinerPass to the C API. 2011-07-26 15:23:23 +00:00
Analysis.h "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." 2010-01-09 22:27:07 +00:00
BitReader.h Add Module functions in place of module providers. 2010-03-02 23:58:54 +00:00
BitWriter.h Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options. 2010-03-06 00:30:06 +00:00
Core.h LangRef and basic memory-representation/reading/writing for 'cmpxchg' and 2011-07-28 21:48:00 +00:00
Disassembler.h Fix some minor typos and grammar. 2011-05-22 04:44:48 +00:00
EnhancedDisassembly.h Trailing whitespace. 2011-03-14 20:59:06 +00:00
ExecutionEngine.h Expose JIT::recompileAndRelinkFunction for use through the C API. 2010-07-19 09:33:13 +00:00
Initialization.h Add initialization routines for Instrumentation. 2010-10-07 20:17:24 +00:00
LinkTimeOptimizer.h Fix comment typo. 2010-11-02 15:12:48 +00:00
lto.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Object.h Add a set of C bindings for the Object interface. 2011-04-03 22:34:07 +00:00
Target.h Add LLVMAddTargetLibraryInfo to the C API. 2011-07-25 21:20:54 +00:00