[X86] Updated target specific selection dag code to conservatively check for isAtomic...
authorPhilip Reames <listmail@philipreames.com>
Tue, 10 Sep 2019 18:43:15 +0000 (18:43 +0000)
committerPhilip Reames <listmail@philipreames.com>
Tue, 10 Sep 2019 18:43:15 +0000 (18:43 +0000)
commita9beacbac8d22f2b796130766ff7f8c93af131f2
tree07088ff6a2e217528dac2b03b1a40a639030d360
parent870ffe3cee6398f5c576e230765424f6f89d2143
[X86] Updated target specific selection dag code to conservatively check for isAtomic in addition to isVolatile

See D66309 for context.

This is the first sweep of x86 target specific code to add isAtomic bailouts where appropriate. The intention here is to have the switch from AtomicSDNode to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to allow additional optimizations at this time.

Sorry for the lack of tests.  As discussed in the review, most of these are vector tests (for which atomicity is not well defined) and I couldn't figure out to exercise the anyextend cases which aren't vector specific.

Differential Revision: https://reviews.llvm.org/D66322

llvm-svn: 371547
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86InstrInfo.td