- Sep 13, 2011
-
-
John McCall authored
even on architectures that support unaligned access (which is the only way this is otherwise legal, given that ivars apparently do not honor alignment attributes). llvm-svn: 139590
-
John McCall authored
llvm-svn: 139585
-
John McCall authored
atomic. This is probably something we should warn about. llvm-svn: 139584
-
John McCall authored
single code path. Use atomic loads and stores where necessary. Load and store anything of the appropriate size and alignment with primitive operations instead of going through the call. llvm-svn: 139580
-
John McCall authored
modernization. No functionality change. llvm-svn: 139555
-
- Sep 12, 2011
-
-
Devang Patel authored
llvm-svn: 139521
-
Devang Patel authored
llvm-svn: 139514
-
Devang Patel authored
llvm-svn: 139502
-
- Sep 10, 2011
-
-
John McCall authored
llvm-svn: 139470
-
John McCall authored
Use a more portable heuristic for deciding when to emit a single atomic store; it's possible that I've lost information here, but I'm not sure how much of the logic before was intentionally arch-specific and how much was just not quite consistent. llvm-svn: 139468
-
John McCall authored
llvm-svn: 139466
-
John McCall authored
the lifetime of the block by copying it to the heap, or else we'll get a dangling reference because the code working with the non-block-typed object will not know it needs to copy. There is some danger here, e.g. with assigning a block literal to an unsafe variable, but, well, it's an unsafe variable. llvm-svn: 139451
-
Devang Patel authored
llvm-svn: 139443
-
Douglas Gregor authored
than having CodeGen check whether a declaration comes from an AST file (which it shouldn't know or care about), make sure that the AST writer and reader pass along "interesting" declarations that CodeGen needs to know about. llvm-svn: 139441
-
Douglas Gregor authored
declaration was deserialized from an AST file. Use this instead of Decl::getPCHLevel() wherever possible. This is a simple step toward killing off Decl::getPCHLevel(). llvm-svn: 139427
-
Julien Lerouge authored
llvm-svn: 139424
-
Julien Lerouge authored
annotate global, local variables, struct fields, or arbitrary statements (using the __builtin_annotation), rdar://8037476. llvm-svn: 139423
-
- Sep 09, 2011
-
-
Eric Christopher authored
along with the new insert point. Fixes PR10829 llvm-svn: 139416
-
John McCall authored
feature akin to the ARC runtime checks. Removes a terrible hack where IR gen needed to find the declarations of those symbols in the translation unit. llvm-svn: 139404
-
Argyrios Kyrtzidis authored
instead of codegen waiting to consume such a declaration, which won't happen if that decls are coming from a PCH. Fixes rdar://10028656. llvm-svn: 139359
-
John McCall authored
than conversions of C pointers to ObjC pointers. In order to ensure that we've caught every case, add asserts to CastExpr that strictly determine which cast kind is used for which kind of bit cast. llvm-svn: 139352
-
- Sep 08, 2011
-
-
Eric Christopher authored
llvm-svn: 139296
-
- Sep 07, 2011
-
-
Eli Friedman authored
Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away). LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything. There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now. I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier. I would appreciate hearing from anyone who is using this intrinsic. llvm-svn: 139216
-
- Sep 06, 2011
-
-
Douglas Gregor authored
to look through SubstNonTypeTemplateParmExprs. Then, update the IR generation of CallExprs to actually use CallExpr::getCalleeDecl() rather than attempting to mimick its behavior (badly). Fixes <rdar://problem/10063539>. llvm-svn: 139185
-
Eli Friedman authored
Rearrange code so that we pass the right pointer to delete[] when an exception is thrown constructing the array elements in an array new expression. Fixes PR10870. llvm-svn: 139158
-
Douglas Gregor authored
synthesized move assignment within an implicitly-defined move assignment operator, be sure to treat the derived-to-base cast as an xvalue (rather than an lvalue). Otherwise, we'll end up getting the wrong constructor. Optimize a direct call to a trivial move assignment operator to an aggregate copy, as we do for trivial copy assignment operators, and update the the assertion in CodeGenFunction::EmitAggregateCopy() to cope with this optimization. Fixes PR10860. llvm-svn: 139143
-
- Sep 02, 2011
-
-
Fariborz Jahanian authored
// rdar://10033896 llvm-svn: 139041
-
Fariborz Jahanian authored
llvm-svn: 139029
-
Fariborz Jahanian authored
// rdar://10033896 llvm-svn: 139020
-
Douglas Gregor authored
builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). llvm-svn: 138985
-
- Sep 01, 2011
-
-
Nick Lewycky authored
and may very well be dependent-types, triggering an assertion in debug info codegen. llvm-svn: 138970
-
- Aug 30, 2011
-
-
Sebastian Redl authored
This makes the code duplication of implicit special member handling even worse, but the cleanup will have to come later. For now, this works. Follow-up with tests for explicit defaulting and enabling the __has_feature flag to come. llvm-svn: 138821
-
John McCall authored
apparent general rule. Just special-case it as appropriate. PR10789. llvm-svn: 138792
-
John McCall authored
Doing this happens to disrupt the pattern that ARC was looking for for move optimizations, so we need to fix that simultaneously. llvm-svn: 138789
-
- Aug 27, 2011
-
-
Benjamin Kramer authored
llvm-svn: 138707
-
- Aug 26, 2011
-
-
John McCall authored
emit all gl-value arguments as reference bindings. llvm-svn: 138655
-
John McCall authored
llvm-svn: 138639
-
John McCall authored
better. llvm-svn: 138628
-
John McCall authored
really shouldn't be optional. Fix the remaining place where a temporary was being passed as potentially-aliased memory. Fixes PR10756. llvm-svn: 138627
-
John McCall authored
llvm-svn: 138624
-