author | Robin Morisset <morisset@google.com> | |
Tue, 23 Sep 2014 20:59:25 +0000 (20:59 +0000) | ||
committer | Robin Morisset <morisset@google.com> | |
Tue, 23 Sep 2014 20:59:25 +0000 (20:59 +0000) | ||
commit | 30e7514d010ddb137c8de2f6b5379f94b50564fa | |
tree | 3ca9e62d0342065079b9323b38984d429365e523 | tree | snapshot (tar.xz tar.gz zip) |
parent | 58bca6e8ec2ab4a2ba1b1981401a76f54a84e6b2 | commit | diff |
[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
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 | diff | blob | history | |
lib/Target/X86/X86ISelLowering.cpp | diff | blob | history | |
test/CodeGen/X86/atomic-load-store-wide.ll | diff | blob | history |