| #
702b2841 |
| 27-Nov-2011 |
Peter Collingbourne <[email protected]> |
When destroying temporaries, instead of a custom cleanup use the generic pushDestroy function.
This would reduce the number of useful declarations in CGTemporaries.cpp to one. Since CodeGenFunction
When destroying temporaries, instead of a custom cleanup use the generic pushDestroy function.
This would reduce the number of useful declarations in CGTemporaries.cpp to one. Since CodeGenFunction::EmitCXXTemporary does not deserve its own file, move it to CGCleanup.cpp and delete CGTemporaries.cpp.
llvm-svn: 145202
show more ...
|
| #
29526f09 |
| 27-Nov-2011 |
Sebastian Redl <[email protected]> |
Reference initialization with initializer lists.
This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other init
Reference initialization with initializer lists.
This supports single-element initializer lists for references according to DR1288, as well as creating temporaries and binding to them for other initializer lists.
llvm-svn: 145186
show more ...
|
| #
2d988f0f |
| 22-Nov-2011 |
Richard Smith <[email protected]> |
Use static storage duration for file-scope compound literals, even when they appear in non-constant initializers in C++.
llvm-svn: 145087
|
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4 |
|
| #
d20adbdc |
| 16-Nov-2011 |
Eli Friedman <[email protected]> |
Fix a bunch of really nasty bugs in how we compute alignment for reference lvalues. PR11376.
llvm-svn: 144745
|
| #
08ef4660 |
| 10-Nov-2011 |
John McCall <[email protected]> |
Enter the cleanups for a block outside the enclosing full-expression. Naturally they're inactive before we enter the block literal expression. This restores the intended behavior that blocks belong
Enter the cleanups for a block outside the enclosing full-expression. Naturally they're inactive before we enter the block literal expression. This restores the intended behavior that blocks belong to their enclosing scope.
There's a useful -O0 / compile-time optimization that we're missing here with activating cleanups following straight-line code from their inactive beginnings.
llvm-svn: 144268
show more ...
|
| #
9a54961e |
| 08-Nov-2011 |
John McCall <[email protected]> |
Bind function "r-values" as l-values when emitting them as opaque values. Silly C type system.
llvm-svn: 144144
|
|
Revision tags: llvmorg-3.0.0-rc3 |
|
| #
ffc8ca2d |
| 07-Nov-2011 |
John McCall <[email protected]> |
Rip out CK_GetObjCProperty.
llvm-svn: 143910
|
| #
c109a259 |
| 07-Nov-2011 |
John McCall <[email protected]> |
Rip the ObjCPropertyRef l-value kind out of IR-generation.
llvm-svn: 143908
|
| #
fe96e0b6 |
| 06-Nov-2011 |
John McCall <[email protected]> |
Change the AST representation of operations on Objective-C property references to use a new PseudoObjectExpr expression which pairs a syntactic form of the expression with a set of semantic expressio
Change the AST representation of operations on Objective-C property references to use a new PseudoObjectExpr expression which pairs a syntactic form of the expression with a set of semantic expressions implementing it. This should significantly reduce the complexity required elsewhere in the compiler to deal with these kinds of expressions (e.g. IR generation's special l-value kind, the static analyzer's Message abstraction), at the lower cost of specifically dealing with the odd AST structure of these expressions. It should also greatly simplify efforts to implement similar language features in the future, most notably Managed C++'s properties and indexed properties.
Most of the effort here is in dealing with the various clients of the AST. I've gone ahead and simplified the ObjC rewriter's use of properties; other clients, like IR-gen and the static analyzer, have all the old complexity *and* all the new complexity, at least temporarily. Many thanks to Ted for writing and advising on the necessary changes to the static analyzer.
I've xfailed a small diagnostics regression in the static analyzer at Ted's request.
llvm-svn: 143867
show more ...
|
| #
10317eaa |
| 02-Nov-2011 |
Fariborz Jahanian <[email protected]> |
back out changes in r143399 and r143475. rvale-references are captured by reference in blocks. // rdar://9971124.
llvm-svn: 143583
|
|
Revision tags: llvmorg-3.0.0-rc2 |
|
| #
f0cda639 |
| 31-Oct-2011 |
Fariborz Jahanian <[email protected]> |
Adds IRGen support for captured rvalue references in blocks. In this case, temporary value is copied into block descriptor as their own copy to work on. // rdar://9971124
llvm-svn: 143399
|
| #
95fd2ca6 |
| 27-Oct-2011 |
Peter Collingbourne <[email protected]> |
Annotate imprecise FP division with fpaccuracy metadata
The OpenCL single precision division operation is only required to be accurate to 2.5ulp. Annotate the fdiv instruction with metadata which s
Annotate imprecise FP division with fpaccuracy metadata
The OpenCL single precision division operation is only required to be accurate to 2.5ulp. Annotate the fdiv instruction with metadata which signals to the backend that an imprecise divide instruction may be used.
llvm-svn: 143136
show more ...
|
|
Revision tags: llvmorg-3.0.0-rc1 |
|
| #
4b72fddd |
| 14-Oct-2011 |
Eli Friedman <[email protected]> |
Misc fixes for atomics. Biggest fix is doing alignment correctly for _Atomic types.
llvm-svn: 142002
|
| #
7cdf9486 |
| 13-Oct-2011 |
Eric Christopher <[email protected]> |
Recommit:
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the e
Recommit:
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage.
Finishes off the rest of rdar://10246360
after fixing a few bugs that were exposed in gdb testsuite testing.
llvm-svn: 141893
show more ...
|
| #
93663b3c |
| 12-Oct-2011 |
Eric Christopher <[email protected]> |
Revert file/scope handling patches. gdb testing revealed a couple of bugs.
llvm-svn: 141796
|
| #
498b7fd7 |
| 11-Oct-2011 |
Eric Christopher <[email protected]> |
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change m
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage.
Finishes off the rest of rdar://10246360
llvm-svn: 141732
show more ...
|
| #
c2025567 |
| 11-Oct-2011 |
Eli Friedman <[email protected]> |
Silence some -Wuninitialized false positives with gcc.
llvm-svn: 141701
|
| #
df14b3a8 |
| 11-Oct-2011 |
Eli Friedman <[email protected]> |
Initial implementation of __atomic_* (everything except __atomic_is_lock_free).
llvm-svn: 141632
|
| #
fe883422 |
| 06-Oct-2011 |
Peter Collingbourne <[email protected]> |
CUDA: IR generation support for kernel call expressions
llvm-svn: 141300
|
| #
0c78427d |
| 30-Sep-2011 |
Fariborz Jahanian <[email protected]> |
objc gc: assigning to an objc object struct member through an ivar pointer to this struct must go through the none ivar writer barrier.
llvm-svn: 140867
|
| #
bfa4dc55 |
| 29-Sep-2011 |
Eric Christopher <[email protected]> |
Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don't exist anymore.
llvm-svn: 140739
|
| #
e655657c |
| 29-Sep-2011 |
Eric Christopher <[email protected]> |
Call UpdateLineDirectiveRegion every time we want to emit a stop point in the code. Ensures that we don't miss any places and the check is reasonably cheap.
llvm-svn: 140737
|
| #
76399eb2 |
| 27-Sep-2011 |
Benjamin Kramer <[email protected]> |
de-tmpify clang.
llvm-svn: 140637
|
| #
aa347f93 |
| 23-Sep-2011 |
David Blaikie <[email protected]> |
Removing a bunch of dead returns/breaks after llvm_unreachables.
llvm-svn: 140407
|
| #
83d382b1 |
| 23-Sep-2011 |
David Blaikie <[email protected]> |
Switch assert(0/false) llvm_unreachable.
llvm-svn: 140367
|