freebsd-dev/contrib/llvm/tools/clang/lib
Ed Schouten 6306ff32fd Pull in r183033 and r183036 from LLVM trunk:
Add support for optimized (non-generic) atomic libcalls.

  For integer types of sizes 1, 2, 4 and 8, libcompiler-rt (and libgcc)
  provide atomic functions that pass parameters by value and return
  results directly.

  libgcc and libcompiler-rt only provide optimized libcalls for
  __atomic_fetch_*, as generic libcalls on non-integer types would make
  little sense. This means that we can finally make __atomic_fetch_*
  work
  on architectures for which we don't provide these operations as
  builtins
  (e.g. ARM).

  This should fix the dreaded "cannot compile this atomic library call
  yet" error that would pop up once every while.

This should make it possible for me to get C11 atomics working on all of
our platforms.
2013-06-01 08:07:09 +00:00
..
Analysis Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
ARCMigrate Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
AST Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
ASTMatchers Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Basic Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
CodeGen Pull in r183033 and r183036 from LLVM trunk: 2013-06-01 08:07:09 +00:00
Driver Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Edit Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Format Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Frontend Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
FrontendTool Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Headers Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Lex Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Parse Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Rewrite Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Sema Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Serialization Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
StaticAnalyzer Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00
Tooling Upgrade our copy of llvm/clang to trunk r178860, in preparation of the 2013-04-12 17:57:40 +00:00