Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix a thinko. | Anders Carlsson | 2009-06-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 72679 | |||||
* | Check for null correctly for new expressions. | Anders Carlsson | 2009-06-01 | 1 | -4/+32 | |
| | | | | llvm-svn: 72678 | |||||
* | Improve irgen of 'new' further. | Anders Carlsson | 2009-05-31 | 1 | -8/+24 | |
| | | | | llvm-svn: 72677 | |||||
* | ...and aggregate POD types. | Anders Carlsson | 2009-05-31 | 1 | -4/+2 | |
| | | | | llvm-svn: 72676 | |||||
* | Support for complex types. | Anders Carlsson | 2009-05-31 | 1 | -2/+4 | |
| | | | | llvm-svn: 72675 | |||||
* | Better support for scalar POD types in 'new' expressions. | Anders Carlsson | 2009-05-31 | 1 | -11/+20 | |
| | | | | llvm-svn: 72674 | |||||
* | Very basic irgen support for new expressions. | Anders Carlsson | 2009-05-31 | 1 | -2/+72 | |
| | | | | llvm-svn: 72672 | |||||
* | Don't try to call getFileCharacteristic if the function declaration has an ↵ | Anders Carlsson | 2009-05-31 | 1 | -2/+3 | |
| | | | | | | invalid source location (as is the case for the global allocation functions. llvm-svn: 72671 | |||||
* | Add a new function for emitting new functions. | Anders Carlsson | 2009-05-31 | 3 | -0/+10 | |
| | | | | llvm-svn: 72656 | |||||
* | Emit destructors correctly for temporaries. | Anders Carlsson | 2009-05-31 | 4 | -3/+33 | |
| | | | | llvm-svn: 72655 | |||||
* | When possible, don't emit the cleanup block. Instead, just move the ↵ | Anders Carlsson | 2009-05-31 | 1 | -1/+7 | |
| | | | | | | instructions to the current block. llvm-svn: 72654 | |||||
* | Implement VisitCXXExprWithTemporaries for complex expressions. | Anders Carlsson | 2009-05-31 | 1 | -0/+3 | |
| | | | | llvm-svn: 72653 | |||||
* | Call EmitCXXExprWithTemporaries. | Anders Carlsson | 2009-05-31 | 1 | -2/+1 | |
| | | | | llvm-svn: 72652 | |||||
* | Add lvalue irgen support for CXXBindTemporaryExpr. | Anders Carlsson | 2009-05-30 | 3 | -3/+14 | |
| | | | | llvm-svn: 72649 | |||||
* | More temporary support. | Anders Carlsson | 2009-05-30 | 4 | -6/+52 | |
| | | | | llvm-svn: 72648 | |||||
* | Some small fixes for fields of reference type. | Eli Friedman | 2009-05-30 | 1 | -0/+2 | |
| | | | | llvm-svn: 72636 | |||||
* | Remove VarDecl from CXXConstructExpr. | Anders Carlsson | 2009-05-30 | 1 | -11/+3 | |
| | | | | llvm-svn: 72633 | |||||
* | Add code for emitting C++ destructors. Not used yet. | Anders Carlsson | 2009-05-29 | 3 | -0/+14 | |
| | | | | llvm-svn: 72591 | |||||
* | Create a new PrintingPolicy class, which we pass down through the AST | Douglas Gregor | 2009-05-29 | 1 | -1/+3 | |
| | | | | | | | | | printing logic to help customize the output. For now, we use this rather than a special flag to suppress the "struct" when printing "struct X" and to print the Boolean type as "bool" in C++ but "_Bool" in C. llvm-svn: 72590 | |||||
* | Re-add a slightly more general version of the check from r72578; it is | Eli Friedman | 2009-05-29 | 1 | -0/+2 | |
| | | | | | | actually necessary in some obscure cases. llvm-svn: 72585 | |||||
* | Oops, the testcase I was thinking of is supposed to error out. I | Mike Stump | 2009-05-29 | 1 | -2/+0 | |
| | | | | | | tried other things that might trip, but they all worked. llvm-svn: 72584 | |||||
* | Fixup codegen for composition of vla types using a normal array type. | Mike Stump | 2009-05-29 | 1 | -0/+2 | |
| | | | | llvm-svn: 72578 | |||||
* | Fixup the rest of the trivial cases of the codegen of volatile. If | Mike Stump | 2009-05-29 | 5 | -56/+196 | |
| | | | | | | | any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. llvm-svn: 72572 | |||||
* | PR4281: Fix bogus CodeGen assertion. The issue is that | Eli Friedman | 2009-05-28 | 1 | -8/+5 | |
| | | | | | | | getUnqualifiedType() doesn't strip off all qualifiers for non-canonical types. llvm-svn: 72552 | |||||
* | Not setting all the fields is confusing... | Mike Stump | 2009-05-28 | 1 | -0/+3 | |
| | | | | llvm-svn: 72506 | |||||
* | Fix a use-of-undefined, IRgen expects the RValue for "void" to be a scalar ↵ | Daniel Dunbar | 2009-05-27 | 1 | -2/+2 | |
| | | | | | | RValue. llvm-svn: 72504 | |||||
* | No write-barrier for initializations. | Fariborz Jahanian | 2009-05-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 72492 | |||||
* | Change a confusing variable name. | Fariborz Jahanian | 2009-05-27 | 1 | -3/+3 | |
| | | | | llvm-svn: 72491 | |||||
* | IRgen support for calls to functions that return references to aggregate ↵ | Anders Carlsson | 2009-05-27 | 1 | -0/+5 | |
| | | | | | | exressions. llvm-svn: 72479 | |||||
* | Fix up constant expression handling to deal with the address | Eli Friedman | 2009-05-27 | 1 | -15/+3 | |
| | | | | | | of a reference correctly. llvm-svn: 72463 | |||||
* | Add IRGen support for local variables of reference type. | Eli Friedman | 2009-05-27 | 1 | -6/+4 | |
| | | | | llvm-svn: 72462 | |||||
* | Add IRGen support for return statements in functions with reference | Eli Friedman | 2009-05-27 | 1 | -0/+4 | |
| | | | | | | type. llvm-svn: 72459 | |||||
* | Handle operator call expressions where the callee is a member function. | Anders Carlsson | 2009-05-27 | 3 | -0/+27 | |
| | | | | llvm-svn: 72458 | |||||
* | Functions that return references can be rvalues as well. | Anders Carlsson | 2009-05-27 | 2 | -0/+6 | |
| | | | | llvm-svn: 72457 | |||||
* | Add support for emitting calls to functions that return references (as ↵ | Anders Carlsson | 2009-05-27 | 1 | -1/+10 | |
| | | | | | | lvalues only for now) llvm-svn: 72449 | |||||
* | Fix typo. I also fixed the hard to read case differences, so that no | Mike Stump | 2009-05-27 | 1 | -3/+3 | |
| | | | | | | one else is tempted to copy the style, incorrectly. llvm-svn: 72448 | |||||
* | Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't ↵ | Anders Carlsson | 2009-05-27 | 3 | -16/+14 | |
| | | | | | | emit an expr. llvm-svn: 72446 | |||||
* | Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a). | Mike Stump | 2009-05-26 | 4 | -23/+29 | |
| | | | | llvm-svn: 72439 | |||||
* | Use .data() instead of &...[0]. | Daniel Dunbar | 2009-05-26 | 1 | -5/+5 | |
| | | | | | | - Just SmallVectors this time. llvm-svn: 72432 | |||||
* | Esnure that if we have a volatile structure as the destination, that | Mike Stump | 2009-05-26 | 1 | -3/+6 | |
| | | | | | | we actually have a destination. llvm-svn: 72429 | |||||
* | When trying to pass an argument on the stack, assume LLVM will do the right | Daniel Dunbar | 2009-05-26 | 1 | -3/+19 | |
| | | | | | | | | | | | | | thing for non-aggregate types. - Otherwise we unnecessarily pin values to the stack and currently end up triggering a backend bug in one case. - This loose cooperation with LLVM to implement the ABI is pretty ugly. - <rdar://problem/6918722> [irgen] clang miscompile of many pointer varargs on x86-64 llvm-svn: 72419 | |||||
* | Handle the edge case of a weak function with incomplete type correctly. | Eli Friedman | 2009-05-26 | 2 | -8/+12 | |
| | | | | | | Found by code inspection; I haven't seen this in real-world code. llvm-svn: 72408 | |||||
* | Propagate volatile for implicit property refernces. | Mike Stump | 2009-05-23 | 1 | -3/+2 | |
| | | | | llvm-svn: 72353 | |||||
* | Propagate volatile around for property references. | Mike Stump | 2009-05-23 | 1 | -3/+2 | |
| | | | | llvm-svn: 72352 | |||||
* | Track volatile aggregate copies better. I'm hoping someone else will decide | Mike Stump | 2009-05-23 | 2 | -4/+11 | |
| | | | | | | how to get the backend to know that the operation is volatile. llvm-svn: 72348 | |||||
* | Fix thinko, and implement aggregate volatile reads. | Mike Stump | 2009-05-23 | 1 | -4/+9 | |
| | | | | llvm-svn: 72347 | |||||
* | More volatile fixes. Can't testcase these yet as ultimately volatile | Mike Stump | 2009-05-23 | 2 | -3/+3 | |
| | | | | | | is still ignored. llvm-svn: 72344 | |||||
* | Collapse a few FIXMEs together and refactor to make fixing the code easier. | Mike Stump | 2009-05-23 | 1 | -46/+31 | |
| | | | | llvm-svn: 72342 | |||||
* | Add support for volatile RValues. | Mike Stump | 2009-05-23 | 1 | -3/+8 | |
| | | | | llvm-svn: 72341 | |||||
* | One step to fixing up codegen for a=b, where a is a volatile struct. | Mike Stump | 2009-05-23 | 1 | -1/+13 | |
| | | | | llvm-svn: 72315 |