[PATCH] D66318: [SDAG] Update generic code to conservatively check for isAtomic in addition to isVolatile

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 10 12:37:16 PDT 2019


reames updated this revision to Diff 219585.
reames added a comment.

Add the nonvolatile_load/store cases.  I'll rename them in a separate commit so as not to clutter the diff on this one.

With that, we're catching *most* of the atomic vs non-atomic differences.  Skimming the remaining test diffs, I clearly need to adjust my test lines to hide O3 <https://reviews.llvm.org/owners/package/3/> vs experimental O3 <https://reviews.llvm.org/owners/package/3/> differences.  There do appear to be a few remaining cases that are being miscompiled, mostly around widenable store idioms.  Need to track that down in a future patch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66318/new/

https://reviews.llvm.org/D66318

Files:
  include/llvm/Target/TargetSelectionDAG.td
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/TargetLowering.cpp
  test/CodeGen/X86/atomic-unordered.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66318.219585.patch
Type: text/x-patch
Size: 25711 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190910/b841cd71/attachment.bin>


More information about the llvm-commits mailing list