summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGAtomic.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* No functionality change. Reflow lines that could fit on one line. Break linesNick Lewycky2013-10-011-6/+3
| | | | | | that had 80-column violations. Remove spurious emacs mode markers on .cpp files. llvm-svn: 191797
* Simplify atomic load/store IRGen.Eli Friedman2013-07-111-44/+20
| | | | | | Also fixes a couple minor bugs along the way; see testcases. llvm-svn: 186049
* Fix style bug introduced in r183033.Ed Schouten2013-05-311-2/+1
| | | | | | | I renamed the function at one point in time, but forgot to fix the layout of the arguments. llvm-svn: 183036
* Add support for optimized (non-generic) atomic libcalls.Ed Schouten2013-05-311-19/+106
| | | | | | | | | | | | | | | | | 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. llvm-svn: 183033
* Standardize accesses to the TargetInfo in IR-gen.John McCall2013-04-161-1/+1
| | | | | | Patch by Stephen Lin! llvm-svn: 179638
* Removed #if 0 code that doesn't compiled if uncommented.Rafael Espindola2013-04-141-9/+0
| | | | llvm-svn: 179495
* Promote atomic type sizes up to a power of two, capped byJohn McCall2013-03-071-24/+481
| | | | | | | | MaxAtomicPromoteWidth. Fix a ton of terrible bugs with _Atomic types and (non-intrinsic-mediated) loads and stores thereto. llvm-svn: 176658
* Move the atomics code into its own file.John McCall2013-03-071-0/+485
llvm-svn: 176657
OpenPOWER on IntegriCloud