jrtc27 added a comment.

I can't obviously see a description of what the additional barriers implied by 
the sync variants is (which should be in an update to LangRef at the very 
least, if not also in the summary itself). Inferring it from the AArch64 
assembly is also difficult, and the RISC-V lowering being identical to the 
non-sync forms confuses me further. I don't particularly want to trawl through 
the web of mailing list posts to try and find out which emails have the right 
information and which aren't relevant, either.



================
Comment at: llvm/include/llvm-c/Core.h:360
+                                                  operations. */
+  LLVMAtomicOrderingSyncAcquire = 8, /**< Acquire with additional barrier. */
+  LLVMAtomicOrderingSyncRelease = 9, /**< Release with additional barrier. */
----------------
These comments are not particularly insightful


================
Comment at: llvm/include/llvm/IR/Instructions.h:660
+  /// Release requests from the AtomicOrdering. A SequentiallyConsistent and
+  /// StrongSequetiallyConsistent operations would remain
+  /// SequentiallyConsistent.
----------------
You mean SyncSequentiallyConsistent?


================
Comment at: llvm/include/llvm/IR/Instructions.h:670
     case AtomicOrdering::Monotonic:
       return AtomicOrdering::Monotonic;
     case AtomicOrdering::AcquireRelease:
----------------
Are these correct? Without a clear description of what SyncFoo add over and 
above Foo it's hard to know.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129802

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to