clang-1/lib
David Chisnall 72c1dba494 Improve C11 atomics support:
- Generate atomicrmw operations in most of the cases when it's sensible to do
  so.
- Don't crash in several common cases (and hopefully don't crash in more of
  them).
- Add some better tests.

We now generate significantly better code for things like:
_Atomic(int) x;
...
x++;

On MIPS, this now generates a 4-instruction ll/sc loop, where previously it
generated about 30 instructions in two nested loops.  On x86-64, we generate a
single lock incl, instead of a lock cmpxchgl loop (one instruction instead of
ten).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176420 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-03 16:02:42 +00:00
..
ARCMigrate [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
AST Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
ASTMatchers First step towards adding a parent map to the ASTContext. 2013-02-28 13:21:39 +00:00
Analysis Remove the CFGElement "Invalid" state. 2013-02-23 00:29:34 +00:00
Basic Fix typos: [Dd]iagnosic -> [Dd]iagnostic 2013-03-01 21:41:22 +00:00
CodeGen Improve C11 atomics support: 2013-03-03 16:02:42 +00:00
Driver Default to enabling default-synthesized ivars on all platforms 2013-03-03 15:36:10 +00:00
Edit Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
Format Remove whitespace at end of file. 2013-03-01 18:11:39 +00:00
Frontend [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
FrontendTool use early returns to simplify and de-nest 2013-01-06 07:49:41 +00:00
Headers libstdc++'s <cstdalign> #includes <stdalign.h> and expects it to guard against 2013-02-21 02:17:58 +00:00
Lex [preprocessor] Use MacroDirective in the preprocessor callbacks to make available the 2013-02-24 00:05:14 +00:00
Parse [Sema] Semantic analysis for empty-declaration and attribute-declaration. 2013-02-22 17:15:32 +00:00
Rewrite Use trailing documentation comments properly 2013-02-16 22:21:38 +00:00
Sema Process #pragma weak only after we know the linkage of the function or variable 2013-03-02 21:41:48 +00:00
Serialization [PCH] Remove building a SmallPtrSet that is not actually used for anything. 2013-03-01 17:01:31 +00:00
StaticAnalyzer [analyzer] Simple inline defensive checks suppression 2013-03-02 03:20:52 +00:00
Tooling CommandLineArgumentParser: handle single quotes. 2013-03-02 06:00:16 +00:00
CMakeLists.txt Initial version of formatting library. 2012-12-03 18:12:45 +00:00
Makefile Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the user 2012-12-13 16:09:42 +00:00