llvm-project/clang/lib
David Majnemer 3c8ea5f3f8 Intrin.h: Clean up our atomic intrinsics
Three things:
- The atomic intrinsics mandate memory barriers, let's start emitting
  some.
- We don't need to manually create RMW operations, we can just do
  __atomic_fetch_foo instead of performing __atomic_foo_fetch and
  undoing foo.
- Don't use inline assembly, we don't need it for these intrinsics.

This fixes PR24101.

llvm-svn: 242009
2015-07-13 02:53:19 +00:00
..
ARCMigrate Switch users of the 'for (StmtRange range = stmt->children(); range; ++range)‘ pattern to range for loops. 2015-07-02 21:03:14 +00:00
AST [MS ABI] Don't generates code for unreferenced inline definitions of library builtins 2015-07-10 20:55:38 +00:00
ASTMatchers Replace some const std::string & with llvm::StringRef or std::string 2015-07-06 08:47:15 +00:00
Analysis Rewrite users of Stmt::child_begin/end into for-range loops. 2015-07-03 15:12:24 +00:00
Basic Fix a couple of typos: specifc->specific. 2015-07-10 18:25:52 +00:00
CodeGen [inlineasm] Attach readonly and readnone to inline-asm instructions. 2015-07-10 18:44:40 +00:00
Driver Disable C++ EH by default for clang-cl and MSVC environments 2015-07-10 22:25:44 +00:00
Edit [edit] Don't hit an assert when trying to delete a trailing space at EOF 2015-03-29 18:07:29 +00:00
Format clang-format: Add Mozilla brace breaking style 2015-07-12 03:13:54 +00:00
Frontend Add an experimental flag -fsanitize-memory-use-after-dtor. 2015-07-10 20:07:16 +00:00
FrontendTool Provide a BuryPointer for unique_ptrs. 2014-08-29 16:53:14 +00:00
Headers Intrin.h: Clean up our atomic intrinsics 2015-07-13 02:53:19 +00:00
Index Rename MacroDefinition -> MacroDefinitionRecord, Preprocessor::MacroDefinition -> MacroDefinition. 2015-05-04 02:25:31 +00:00
Lex [modules] When checking the include guard for a header, check whether it's 2015-07-10 22:27:17 +00:00
Parse Revert "parser: wordsmith diagnostic message" and "parser: diagnose empty attribute blocks" 2015-07-08 05:55:00 +00:00
Rewrite Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
Sema [Sema] If lvalue to rvalue reference cast is valid don't emit diagnostic. 2015-07-12 22:10:56 +00:00
Serialization Minor simplification, no functionality change. 2015-07-12 23:51:20 +00:00
StaticAnalyzer [analyzer] When forced to fake a block type, do it correctly. 2015-07-10 21:41:59 +00:00
Tooling Driver: Remove the Job class. NFC 2015-07-02 22:52:08 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00