[PATCH] D129802: [DRAFT] Implementing new atomic orderings in LLVM and generate barriers for legacy __sync builtins. Support corresponding memory model in outline atomics as well.

Pavel Iliin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 26 15:38:18 PDT 2022


ilinpv added a comment.

@sebpop could you ellaborate on __sync_* operations usage, are you getting issues with current Clang implementation? Do Clang need to keep supporting them and fix introducing new memory model? It seems we need compelling reasons to do that.

>> 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?
>
> I don't know that they are "hardly used" in the real world -- there is certainly legacy code using them, although I haven't attempted to quantify the amount. Another interesting question would be: how much of that code is actually correct, at all. I'd be rather surprised if someone could identify a single piece of software which is actually correct when using the __sync_* operations on GCC, but is incorrect on Clang.




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129802



More information about the llvm-commits mailing list