| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Use PushConditionalTempDestruction/PopConditionalTempDestruction for the ↵ | Anders Carlsson | 2009-06-04 | 1 | -1/+5 |
| | | | | | | | ternary operator. llvm-svn: 72842 | ||||
| * | Use conditional temp destruction for || and &&. | Anders Carlsson | 2009-06-04 | 1 | -0/+6 |
| | | | | | llvm-svn: 72838 | ||||
| * | Add a new function for emitting new functions. | Anders Carlsson | 2009-05-31 | 1 | -0/+3 |
| | | | | | llvm-svn: 72656 | ||||
| * | Call EmitCXXExprWithTemporaries. | Anders Carlsson | 2009-05-31 | 1 | -2/+1 |
| | | | | | llvm-svn: 72652 | ||||
| * | Fixup the rest of the trivial cases of the codegen of volatile. If | Mike Stump | 2009-05-29 | 1 | -29/+78 |
| | | | | | | | | any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. llvm-svn: 72572 | ||||
| * | Functions that return references can be rvalues as well. | Anders Carlsson | 2009-05-27 | 1 | -0/+3 |
| | | | | | llvm-svn: 72457 | ||||
| * | Fixup codegen for __block int i; i += rhs();. Should also slightly | Mike Stump | 2009-05-22 | 1 | -4/+5 |
| | | | | | | | improve codegen in some cases. llvm-svn: 72273 | ||||
| * | Fixup blocks codegen for { __block i; i = rhs(); }, we want the rhs | Mike Stump | 2009-05-21 | 1 | -1/+3 |
| | | | | | | | | evaluated first. This can also improve codegen just a bit as we might have another register to play with for the evaluation of the rhs. llvm-svn: 72226 | ||||
| * | Don't always zext the result of the not unary operator to an int. | Anders Carlsson | 2009-05-19 | 1 | -2/+2 |
| | | | | | llvm-svn: 72117 | ||||
| * | Have AggExprEmitter::VisitCXXConstructExpr make new variables if necessary. ↵ | Anders Carlsson | 2009-05-19 | 1 | -0/+5 |
| | | | | | | | Stub out VisitCXXExprWithTemporaries. llvm-svn: 72103 | ||||
| * | Fix pointer addressing and array subscripting of Objective-C interface | Daniel Dunbar | 2009-04-25 | 1 | -2/+29 |
| | | | | | | | | | | | | types. - I broke this in the switch to representing interfaces with opaque types. - <rdar://problem/6822660> clang crashes on subscript of interface in 32-bit mode llvm-svn: 70009 | ||||
| * | Clang part of r69947. Reverting back 69574 as it is no longer needed. | Sanjiv Gupta | 2009-04-24 | 1 | -10/+4 |
| | | | | | llvm-svn: 69949 | ||||
| * | PR3247: Handle a couple of cases where we weren't emitting VLA sizes (and | Eli Friedman | 2009-04-20 | 1 | -1/+5 |
| | | | | | | | subsequently crashed). llvm-svn: 69567 | ||||
| * | PR3248: Make sure the evaluate the operand of a sizeof when it has a VLA type. | Eli Friedman | 2009-04-20 | 1 | -0/+4 |
| | | | | | | | Adapted from patch by Tim Northover. llvm-svn: 69566 | ||||
| * | Support code generation of 'this' exprs | Anders Carlsson | 2009-04-14 | 1 | -0/+5 |
| | | | | | llvm-svn: 69050 | ||||
| * | Make sure value is initialized when built w/o asserts. | Daniel Dunbar | 2009-04-08 | 1 | -0/+1 |
| | | | | | llvm-svn: 68615 | ||||
| * | Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵ | Sanjiv Gupta | 2009-04-08 | 1 | -4/+10 |
| | | | | | | | GEP is only 32 or 64. So promote index to 32 in such cases. llvm-svn: 68590 | ||||
| * | Remove -ftrapu. | Mike Stump | 2009-04-02 | 1 | -57/+28 |
| | | | | | llvm-svn: 68330 | ||||
| * | Fixup -ftrapv to be more gcc compatible. -ftrapu (for want of a | Mike Stump | 2009-04-02 | 1 | -3/+17 |
| | | | | | | | | | | | better name) is the option that SmallTalk can use to intercept all overflows, including unsigned. I added some testcases so we don't break anything. Also included is another patch from David for += and friends. llvm-svn: 68267 | ||||
| * | Add -ftrapv support, patch from David Chisnall; well all except the | Mike Stump | 2009-04-01 | 1 | -2/+115 |
| | | | | | | | clang option code that is and two bug fixes. llvm-svn: 68240 | ||||
| * | Revert r68221, -ftrapv support, which causes several regressions in | Douglas Gregor | 2009-04-01 | 1 | -111/+0 |
| | | | | | | | Clang's test suite. llvm-svn: 68230 | ||||
| * | Add -ftrapv support, patch from David Chisnall; well all except the | Mike Stump | 2009-04-01 | 1 | -0/+111 |
| | | | | | | | clang option code that is. llvm-svn: 68221 | ||||
| * | Trivial cleanup. | Eli Friedman | 2009-03-28 | 1 | -2/+2 |
| | | | | | llvm-svn: 67899 | ||||
| * | Misc small fixes/cleanups/comment changes. | Eli Friedman | 2009-03-28 | 1 | -20/+28 |
| | | | | | llvm-svn: 67895 | ||||
| * | Change compound assignment operators to keep track of both the promoted | Eli Friedman | 2009-03-28 | 1 | -62/+17 |
| | | | | | | | | | | | | | | | | | | 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 | ||||
| * | Fix a subtle bug in CodeGen for the increment of a bitfield. | Eli Friedman | 2009-03-23 | 1 | -5/+7 |
| | | | | | llvm-svn: 67499 | ||||
| * | fix PR3809, codegen for inc/dec of function pointers. | Chris Lattner | 2009-03-18 | 1 | -3/+11 |
| | | | | | llvm-svn: 67165 | ||||
| * | Almost complete implementation of rvalue references. One bug, and a few ↵ | Sebastian Redl | 2009-03-16 | 1 | -0/+1 |
| | | | | | | | unclear areas. Maybe Doug can shed some light on some of the fixmes. llvm-svn: 67059 | ||||
| * | Back out the patch in r66302, and re-fix it properly. We assume for | Eli Friedman | 2009-03-07 | 1 | -3/+0 |
| | | | | | | | | | performance that the type of the returned llvm::Value for an expression matches the converted type of the clang::Expr; mismatches will cause all sorts of errors and silent miscompilations. llvm-svn: 66321 | ||||
| * | Codegen support for copy helpers for block literals. | Mike Stump | 2009-03-07 | 1 | -2/+1 |
| | | | | | llvm-svn: 66319 | ||||
| * | Fixed a bug where generation of read-barriers caused | Fariborz Jahanian | 2009-03-06 | 1 | -0/+3 |
| | | | | | | | crash in ir-gen. llvm-svn: 66302 | ||||
| * | Minor cleanup for choose expressions: add a helper that returns the | Eli Friedman | 2009-03-04 | 1 | -3/+1 |
| | | | | | | | chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018 | ||||
| * | Attempt to fix PR3709: when converting from an integer to a pointer, | Eli Friedman | 2009-03-04 | 1 | -1/+8 |
| | | | | | | | first extend the integer to the correct width. llvm-svn: 66009 | ||||
| * | First cut CodeGen support for __block variables. | Mike Stump | 2009-02-28 | 1 | -32/+3 |
| | | | | | llvm-svn: 65688 | ||||
| * | Change the AST generated for offsetof a bit so that it looks like a | Eli Friedman | 2009-02-27 | 1 | -40/+2 |
| | | | | | | | | | normal expression, and change Evaluate and IRGen to evaluate it like a normal expression. This simplifies the code significantly, and fixes PR3396. llvm-svn: 65622 | ||||
| * | CodeGen support for copied BlockDeclRefExprs. | Mike Stump | 2009-02-25 | 1 | -7/+3 |
| | | | | | llvm-svn: 65487 | ||||
| * | first wave of fixes for @encode sema support. This is part of PR3648. | Chris Lattner | 2009-02-24 | 1 | -17/+4 |
| | | | | | | | | The big difference here is that (like string literal) @encode has array type, not pointer type. llvm-svn: 65391 | ||||
| * | Cleanp code with some recent suggestions. | Mike Stump | 2009-02-22 | 1 | -7/+1 |
| | | | | | llvm-svn: 65285 | ||||
| * | Add CodeGen support for the helper for BlockDeclRefExprs. The easier | Mike Stump | 2009-02-21 | 1 | -0/+45 |
| | | | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242 | ||||
| * | More codegen for blocks. The type of block literals should be better. | Mike Stump | 2009-02-19 | 1 | -4/+1 |
| | | | | | | | The size calculation is improved. llvm-svn: 64994 | ||||
| * | rip out __builtin_overload | Chris Lattner | 2009-02-18 | 1 | -6/+0 |
| | | | | | llvm-svn: 64961 | ||||
| * | Generate the helper function for blocks. Now basic codegen is | Mike Stump | 2009-02-14 | 1 | -1/+1 |
| | | | | | | | starting to work for blocks. llvm-svn: 64570 | ||||
| * | fix rdar://6586493, a bug in codegen of the GNU | Chris Lattner | 2009-02-13 | 1 | -9/+19 |
| | | | | | | | missing-?:-true-value extension. llvm-svn: 64505 | ||||
| * | Condense all the blocks code into CGBlocks.cpp. | Mike Stump | 2009-02-13 | 1 | -132/+1 |
| | | | | | llvm-svn: 64457 | ||||
| * | Initial codegen for block literals. This is a work in progress. I've | Mike Stump | 2009-02-12 | 1 | -6/+142 |
| | | | | | | | | | tried to put FIXMEs on the most important things to fix up. Lots left to do including more codegen, more documentation and cleaning code and style cleanups. llvm-svn: 64390 | ||||
| * | Use EmitVAListRef instead of EmitLValue directly to handle array decay | Daniel Dunbar | 2009-02-11 | 1 | -1/+0 |
| | | | | | | | case on x86_64. llvm-svn: 64333 | ||||
| * | Fix rdar://6518463, increment of a bool is always true, due to | Chris Lattner | 2009-02-11 | 1 | -0/+7 |
| | | | | | | | | subtle and non-obvious promotion rules. We already handle += and +1 correctly. llvm-svn: 64296 | ||||
| * | finish off codegen support for sub of pointer to functions, | Chris Lattner | 2009-02-11 | 1 | -2/+7 |
| | | | | | | | finishing off rdar://6520707 llvm-svn: 64295 | ||||
| * | Follow Eli's advice and store the VLA size with the native size_t type. ↵ | Anders Carlsson | 2009-02-05 | 1 | -3/+1 |
| | | | | | | | Fixes PR3491. llvm-svn: 63879 | ||||
| * | Make sure to cast the VLA size of array to the type of size_t. Fixes PR3442. | Anders Carlsson | 2009-01-30 | 1 | -1/+4 |
| | | | | | llvm-svn: 63394 | ||||

