llvm-6502/test/CodeGen
Robin Morisset 30e7514d01 [X86] Make wide loads be managed by AtomicExpand
Summary:
AtomicExpand already had logic for expanding wide loads and stores on LL/SC
architectures, and for expanding wide stores on CmpXchg architectures, but
not for wide loads on CmpXchg architectures. This patch fills this hole,
and makes use of this new feature in the X86 backend.

Only one functionnal change: we now lose the SynchScope attribute.
It is regrettable, but I have another patch that I will submit soon that will
solve this for all of AtomicExpand (it seemed better to split it apart as it
is a different concern).

Test Plan: make check-all (lots of tests for this functionality already exist)

Reviewers: jfb

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218332 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-23 20:59:25 +00:00
..
AArch64 [FastISel][AArch64] Also allow folding of sign-/zero-extend and shift-left for booleans (i1). 2014-09-22 21:08:53 +00:00
ARM
CPP
Generic
Hexagon
Inputs
Mips
MSP430
NVPTX
PowerPC [Power] Use AtomicExpandPass for fence insertion, and use lwsync where appropriate 2014-09-23 20:46:49 +00:00
R600 Revert "R600/SI: Add support for global atomic add" 2014-09-22 16:44:04 +00:00
SPARC
SystemZ
Thumb
Thumb2
X86 [X86] Make wide loads be managed by AtomicExpand 2014-09-23 20:59:25 +00:00
XCore