[PATCH] D57596: [CodeGen] Be conservative about atomic accesses as for volatile

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 1 09:45:22 PST 2019


reames created this revision.
reames added reviewers: jlebar, kzhuravl, stoklund.
Herald added subscribers: jfb, bollu, mcrosier, MatzeB.

Background: At the moment, we record the AtomicOrdering of an access in the MMO, but also mark any atomic access as volatile in SelectionDAG. I'm working towards separating that.

Update all usages of isVolatile in lib/CodeGen - except for DAGCombiner which is large enough to need a separate change -  to preserve behaviour once atomic MMOs stop being also volatile.  This is NFC in it's current form, but is essential for correctness once we make that final change.

I'm deliberately being conservative about handling.  I want the change to stop adding volatile to be NFC itself, and then will work through places where we can be less conservative for atomics one by one in separate changes w/tests.


https://reviews.llvm.org/D57596

Files:
  include/llvm/CodeGen/SelectionDAGNodes.h
  lib/CodeGen/MachineInstr.cpp
  lib/CodeGen/MachinePipeliner.cpp
  lib/CodeGen/ScheduleDAGInstrs.cpp
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/TargetLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57596.184774.patch
Type: text/x-patch
Size: 4471 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190201/d195e9c5/attachment.bin>


More information about the llvm-commits mailing list