diff options
author | Philip Reames <listmail@philipreames.com> | 2019-09-12 22:49:17 +0000 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2019-09-12 22:49:17 +0000 |
commit | 079e2104633489e9b99c17c0c1426db11d69bb2f (patch) | |
tree | 8958acdb3a0a5a4d84a3b73bfb3ebcad0bd91869 /llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | |
parent | 4fe2732161905a9bd53e09336851482a96b04ce9 (diff) | |
download | bcm5719-llvm-079e2104633489e9b99c17c0c1426db11d69bb2f.tar.gz bcm5719-llvm-079e2104633489e9b99c17c0c1426db11d69bb2f.zip |
[SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile
This is the first sweep of generic 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. That will come later. See D66309 for context.
Differential Revision: https://reviews.llvm.org/D66318
llvm-svn: 371786
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp index 3b3f872fec5..4fc9f2465d3 100644 --- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp @@ -3224,7 +3224,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1, LoadSDNode *Lod = cast<LoadSDNode>(N0.getOperand(0)); APInt bestMask; unsigned bestWidth = 0, bestOffset = 0; - if (!Lod->isVolatile() && Lod->isUnindexed()) { + if (Lod->isSimple() && Lod->isUnindexed()) { unsigned origWidth = N0.getValueSizeInBits(); unsigned maskWidth = origWidth; // We can narrow (e.g.) 16-bit extending loads on 32-bit target to |