[PATCH] D13051: Add placeholder __libcpp_relaxed_store() for when atomic builtins are not available.

Dimitry Andric via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 22 14:22:55 PDT 2015


dim added a comment.

In http://reviews.llvm.org/D13051#250921, @jroelofs wrote:

> In http://reviews.llvm.org/D13051#250910, @EricWF wrote:
>
> > @jroelofs @dim, could we fallback to the __sync_* builtins on arm?
>


The actual implementations of these __sync builtins should still come from somewhere, as they will also be libcalls, right?

> @dim would need armv4-flavored implementations of them in compiler-rt (if that's what he's using)... the existing ones use instructions that v4 doesn't have.


Andrew Turner, a fellow FreeBSD developer, has added them pretty quickly, in https://svnweb.freebsd.org/base?view=revision&revision=288125.  So I have now reverted the ugly workaround in FreeBSD that disabled _LIBCPP_HAS_ATOMIC_BUILTINS for arm < v6.


http://reviews.llvm.org/D13051





More information about the cfe-commits mailing list