]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
[X86] Make wide loads be managed by AtomicExpand
authorRobin Morisset <morisset@google.com>
Tue, 23 Sep 2014 20:59:25 +0000 (20:59 +0000)
committerRobin Morisset <morisset@google.com>
Tue, 23 Sep 2014 20:59:25 +0000 (20:59 +0000)
commit30e7514d010ddb137c8de2f6b5379f94b50564fa
tree3ca9e62d0342065079b9323b38984d429365e523
parent58bca6e8ec2ab4a2ba1b1981401a76f54a84e6b2
[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
lib/CodeGen/AtomicExpandPass.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/atomic-load-store-wide.ll