Wilco1 added a comment.

The general requirement is that inline and outline atomics have identical 
behaviour, and that GCC and LLVM emit the same sequences. I agree __sync is 
badly documented, so it's hard to figure whether an extra DMB barrier could 
actually make a difference, but it's best to be conservative with atomics. Also 
it was trivial to add (GCC just adds an extra flag for __sync which then emits 
the extra barrier if the flag is set, so you don't need to introduce new atomic 
models).

However if __sync primitives are hardly used in the real world then perhaps it 
is about time to deprecate them with annoying warnings, and completely remove 
support next year. Does that sound reasonable?


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