llvm-project/llvm/test/CodeGen
James Y Knight 148a6469dc Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass.
Many CPUs only have the ability to do a 4-byte cmpxchg (or ll/sc), not 1
or 2-byte. For those, you need to mask and shift the 1 or 2 byte values
appropriately to use the 4-byte instruction.

This change adds support for cmpxchg-based instruction sets (only SPARC,
in LLVM). The support can be extended for LL/SC-based PPC and MIPS in
the future, supplanting the ISel expansions those architectures
currently use.

Tests added for the IR transform and SPARCv9.

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

llvm-svn: 273025
2016-06-17 18:11:48 +00:00
..
AArch64 AArch64: allow MOV (imm) alias to be printed 2016-06-16 01:42:25 +00:00
AMDGPU AMDGPU: Disable scheduling in some slow tests 2016-06-16 00:56:47 +00:00
ARM [ARM] Add support for mrrc/mrrc2 intrinsics. 2016-06-17 00:52:41 +00:00
BPF [BPF] Remove exit-on-error from tests (PR27768, PR27769) 2016-05-30 08:28:34 +00:00
Generic Move CodeGen test from Generic to X86 specific directory 2016-06-10 19:14:01 +00:00
Hexagon [Hexagon] Enable the post-RA scheduler 2016-05-26 19:44:28 +00:00
Inputs [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
Lanai [lanai] Change reloc to use PIC_ by default and cleanup. 2016-05-20 21:41:53 +00:00
MIR [mips][mips16] Fix machine verifier errors about incorrect register classes on load/stores. 2016-06-16 10:20:59 +00:00
MSP430 `MSP430InstrInfo::loadRegFromStackSlot` forgets to set register def. 2016-02-24 15:15:02 +00:00
Mips [mips][mips16] Fix machine verifier errors about incorrect register classes on load/stores. 2016-06-16 10:20:59 +00:00
NVPTX [NVPTX] Add intrinsics for shfl instructions. 2016-06-09 20:04:08 +00:00
PowerPC IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
SPARC Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass. 2016-06-17 18:11:48 +00:00
SystemZ [SystemZ] Enable index register memory constraints for inline ASM 2016-06-13 14:24:05 +00:00
Thumb [Thumb] Fix off-by-one error in r272007 2016-06-14 13:33:07 +00:00
Thumb2 Don't print (PLT) on arm. 2016-06-16 16:09:53 +00:00
WebAssembly [WebAssembly] Emit type signatures for declared functions 2016-06-03 18:34:36 +00:00
WinEH [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
X86 Change RelaxELFRelocations for llc. 2016-06-17 17:43:41 +00:00
XCore [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00