llvm-6502/lib
Robin Morisset 76b55cc4b1 [X86] Allow atomic operations using immediates to avoid using a register
The only valid lowering of atomic stores in the X86 backend was mov from
register to memory. As a result, storing an immediate required a useless copy
of the immediate in a register. Now these can be compiled as a simple mov.

Similarily, adding/and-ing/or-ing/xor-ing an
immediate to an atomic location (but through an atomic_store/atomic_load,
not a fetch_whatever intrinsic) can now make use of an 'add $imm, x(%rip)'
instead of using a register. And the same applies to inc/dec.

This second point matches the first issue identified in
  http://llvm.org/bugs/show_bug.cgi?id=17281

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216980 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-02 22:16:29 +00:00
..
Analysis [CFLAA] constexpr -> LLVM_CONSTEXPR 2014-09-02 22:13:00 +00:00
AsmParser
Bitcode
CodeGen Add pass-manager flags to use CFL AA 2014-09-02 22:12:54 +00:00
DebugInfo
ExecutionEngine [MCJIT] Move endian-aware read/writes from RuntimeDyldMachO into 2014-08-29 23:17:47 +00:00
IR Fix a logic bug when copying fast-math flags. 2014-09-02 20:03:00 +00:00
IRReader
LineEditor
Linker
LTO unique_ptrify LTOCodeGenerator::NativeObjectFile 2014-09-02 18:21:06 +00:00
MC Change MCSchedModel to be a struct of statically initialized data. 2014-09-02 17:43:54 +00:00
Object Code review tweaks 2014-09-02 18:50:24 +00:00
Option
ProfileData
Support unique_ptrify the result of SpecialCaseList::create 2014-09-02 18:13:54 +00:00
TableGen
Target [X86] Allow atomic operations using immediates to avoid using a register 2014-09-02 22:16:29 +00:00
Transforms Add pass-manager flags to use CFL AA 2014-09-02 22:12:54 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile