| #
b7a2fe6f |
| 24-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change.
llvm-svn: 77012
|
| #
170229f6 |
| 14-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change, and contextify a bunch of related stuff.
llvm-svn: 75705
|
| #
ae86c19e |
| 13-Jul-2009 |
Owen Anderson <[email protected]> |
Update for LLVM API change.
llvm-svn: 75446
|
| #
94dfae24 |
| 17-Jun-2009 |
Chris Lattner <[email protected]> |
Update clang for the add ->add/fadd split. Likewise for sub and mul.
llvm-svn: 73604
|
| #
76d864c7 |
| 10-Jun-2009 |
Daniel Dunbar <[email protected]> |
Support complex properties, ivars and message expressions.
llvm-svn: 73158
|
| #
c0092ad3 |
| 31-May-2009 |
Anders Carlsson <[email protected]> |
Implement VisitCXXExprWithTemporaries for complex expressions.
llvm-svn: 72653
|
| #
df0fe27b |
| 29-May-2009 |
Mike Stump <[email protected]> |
Fixup the rest of the trivial cases of the codegen of volatile. If any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know.
llvm-svn: 72572
|
| #
d8b7ae20 |
| 27-May-2009 |
Anders Carlsson <[email protected]> |
Functions that return references can be rvalues as well.
llvm-svn: 72457
|
| #
8b7b1b1a |
| 28-Mar-2009 |
Eli Friedman <[email protected]> |
Change compound assignment operators to keep track of both the promoted LHS type and the computation result type; this encodes information into the AST which is otherwise non-obvious. Fix Sema to
Change compound assignment operators to keep track of both the promoted LHS type and the computation result type; this encodes information into the AST which is otherwise non-obvious. Fix Sema to always come up with the right answer for both of these types. Fix IRGen and the analyzer to account for these changes. This fixes PR2601. The approach is inspired by PR2601 comment 2.
Note that this changes real *= complex in CodeGen from a silent miscompilation to an explicit error.
I'm not really sure that the analyzer changes are correct, or how to test them... someone more familiar with the analyzer should check those changes.
llvm-svn: 67889
show more ...
|
| #
31a20d68 |
| 23-Mar-2009 |
Eli Friedman <[email protected]> |
Some minor fixes for complex IRGen.
llvm-svn: 67501
|
| #
e0a5b8b1 |
| 04-Mar-2009 |
Eli Friedman <[email protected]> |
Minor cleanup for choose expressions: add a helper that returns the chosen sub-expression, rather than just evaluating the condition.
llvm-svn: 66018
|
|
Revision tags: llvmorg-2.5.0 |
|
| #
d7cfc246 |
| 18-Feb-2009 |
Chris Lattner <[email protected]> |
rip out __builtin_overload
llvm-svn: 64961
|
| #
e9fcadd2 |
| 11-Feb-2009 |
Daniel Dunbar <[email protected]> |
Use EmitVAListRef instead of EmitLValue directly to handle array decay case on x86_64.
llvm-svn: 64333
|
| #
00079612 |
| 10-Feb-2009 |
Daniel Dunbar <[email protected]> |
Support va_arg on _Complex.
gcc compat test suite results (Darwin x86-32 & -64): -- # of expected passes 1110 # of unexpected failures 74 # of unresolved testcases 168 # of unsupported tests 2
ll
Support va_arg on _Complex.
gcc compat test suite results (Darwin x86-32 & -64): -- # of expected passes 1110 # of unexpected failures 74 # of unresolved testcases 168 # of unsupported tests 2
llvm-svn: 64197
show more ...
|
| #
0202cb40 |
| 29-Jan-2009 |
Douglas Gregor <[email protected]> |
Introduce a new expression node, ImplicitValueInitExpr, that represents an implicit value-initialization of a subobject of a particular type. This replaces the (ab)use of CXXZeroValueInitExpr within
Introduce a new expression node, ImplicitValueInitExpr, that represents an implicit value-initialization of a subobject of a particular type. This replaces the (ab)use of CXXZeroValueInitExpr within initializer lists for the "holes" that occur due to the use of C99 designated initializers.
The new test case is currently XFAIL'd, because CodeGen's ConstExprEmitter (in lib/CodeGen/CGExprConstant.cpp) needs to be taught to value-initialize when it sees ImplicitValueInitExprs.
llvm-svn: 63317
show more ...
|
| #
dc8b4b05 |
| 29-Jan-2009 |
Daniel Dunbar <[email protected]> |
Fix typo
llvm-svn: 63281
|
| #
02fe8210 |
| 26-Jan-2009 |
Daniel Dunbar <[email protected]> |
Comment fix.
llvm-svn: 63016
|
| #
a612e79b |
| 13-Nov-2008 |
Daniel Dunbar <[email protected]> |
Normalize many BasicBlock names. - Use dotted notation for blocks related to a particular statement type. - Use .end for landing pads.
No functionality change in NDEBUG mode. :)
llvm-svn: 59210
|
| #
5c7e3935 |
| 11-Nov-2008 |
Daniel Dunbar <[email protected]> |
Rework IRgen invariant w.r.t. current insert point. - EmitStmt is no longer required to finish with a current insertion point defined (i.e. it does not need to make dummy blocks). Instead, it
Rework IRgen invariant w.r.t. current insert point. - EmitStmt is no longer required to finish with a current insertion point defined (i.e. it does not need to make dummy blocks). Instead, it can clear the insertion point in the builder which indicates that the current insertion point is unreachable. - CodeGenFunction provides HaveInsertPoint and EnsureInsertPoint which respectively test if there is an insert point and ensure an insertion point exists (by making a dummy block). - Clearly mark functions in CodeGenFunction which can be called with no insertion point defined. Currently this is a limited set, and EmitStmt simply EnsureInsertPoint()s before emitting subsequent IR.
Remove EmitDummyBlock, which is no longer needed. Clients who haven't already cleared the insertion point (typically via EmitBranch) can do so by hand.
Remove isDummyBlock, which has effectively been renamed to HaveInsertPoint.
The main thrust of this change is that we no longer have create dummy blocks just to destroy them a short time later in EmitBlock in the common case that there is no unreachable code following something like a goto.
Additionally, this means that we are not using the hokey condition in isDummyBlock that a block without a name is a dummy block. Guess how well that works when we never emit block names!
llvm-svn: 59089
show more ...
|
| #
6f28289a |
| 11-Nov-2008 |
Sebastian Redl <[email protected]> |
Introduce a single AST node SizeOfAlignOfExpr for all sizeof and alignof expressions, both of values and types.
llvm-svn: 59057
|
| #
c56e6764 |
| 11-Nov-2008 |
Daniel Dunbar <[email protected]> |
Add CodeGenFunction::EmitBranch. - Emits an unconditional branch, with extra logic to avoid generating spurious branches out of dummy blocks.
llvm-svn: 59037
|
| #
75283ff3 |
| 11-Nov-2008 |
Daniel Dunbar <[email protected]> |
Centralize basic block creation in CodeGenFunction::createBasicBlock. - No functionality change.
llvm-svn: 59017
|
|
Revision tags: llvmorg-2.4.0 |
|
| #
cb463859 |
| 01-Nov-2008 |
Daniel Dunbar <[email protected]> |
Move IRBuilder type definition to common file. - No functionality change.
llvm-svn: 58546
|
| #
4b8c6db9 |
| 30-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add Objective-C property setter support. - Change Obj-C runtime message API, drop the ObjCMessageExpr arg in favor of just result type and selector. Necessary so it can be reused in situations
Add Objective-C property setter support. - Change Obj-C runtime message API, drop the ObjCMessageExpr arg in favor of just result type and selector. Necessary so it can be reused in situations where we don't want to cons up an ObjCMessageExpr. - Update aggregate binary assignment to know about special property ref lvalues. - Add CodeGenFunction::EmitCallArg overload which takes an already emitted rvalue.
Add CodeGenFunction::StoreComplexIntoAddr.
Disabled logic in Sema for parsing Objective-C dot-syntax that accesses methods. This code does not search in the correct order and the AST node has no way of properly representing its results.
Updated StmtDumper to print a bit more information about ObjCPropertyRefExprs.
llvm-svn: 55561
show more ...
|
| #
ce4528f0 |
| 23-Aug-2008 |
Argyrios Kyrtzidis <[email protected]> |
Add CodeGen support for CXXZeroInitValueExpr.
llvm-svn: 55249
|