Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Emit destructors correctly for temporaries. | Anders Carlsson | 2009-05-31 | 1 | -0/+4 | |
| | | | | llvm-svn: 72655 | |||||
* | Add lvalue irgen support for CXXBindTemporaryExpr. | Anders Carlsson | 2009-05-30 | 1 | -0/+1 | |
| | | | | llvm-svn: 72649 | |||||
* | More temporary support. | Anders Carlsson | 2009-05-30 | 1 | -1/+6 | |
| | | | | llvm-svn: 72648 | |||||
* | Add code for emitting C++ destructors. Not used yet. | Anders Carlsson | 2009-05-29 | 1 | -0/+4 | |
| | | | | llvm-svn: 72591 | |||||
* | Fixup the rest of the trivial cases of the codegen of volatile. If | Mike Stump | 2009-05-29 | 1 | -2/+5 | |
| | | | | | | | any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. llvm-svn: 72572 | |||||
* | Handle operator call expressions where the callee is a member function. | Anders Carlsson | 2009-05-27 | 1 | -0/+3 | |
| | | | | llvm-svn: 72458 | |||||
* | Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't ↵ | Anders Carlsson | 2009-05-27 | 1 | -7/+5 | |
| | | | | | | 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 | 1 | -2/+5 | |
| | | | | llvm-svn: 72439 | |||||
* | Track volatile aggregate copies better. I'm hoping someone else will decide | Mike Stump | 2009-05-23 | 1 | -1/+5 | |
| | | | | | | how to get the backend to know that the operation is volatile. llvm-svn: 72348 | |||||
* | Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵ | Anders Carlsson | 2009-05-20 | 1 | -0/+4 | |
| | | | | | | support anything but at least we don't crash ;) llvm-svn: 72147 | |||||
* | Pass the destination QualType to EmitStoreOfScalar. No functionality change. | Anders Carlsson | 2009-05-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 72118 | |||||
* | Factor code that's common to EmitCXXMemberCallExpr and ↵ | Anders Carlsson | 2009-05-11 | 1 | -0/+7 | |
| | | | | | | EmitCXXConstructorCall out into a EmitCXXMemberCall function. llvm-svn: 71514 | |||||
* | Remove unnecessary copy of constraint info. | Daniel Dunbar | 2009-05-04 | 1 | -1/+2 | |
| | | | | llvm-svn: 70835 | |||||
* | Make codegen for constructors work again. | Anders Carlsson | 2009-05-03 | 1 | -3/+1 | |
| | | | | llvm-svn: 70785 | |||||
* | split ObjC and C++ Statements out into their own headers. | Chris Lattner | 2009-04-26 | 1 | -0/+4 | |
| | | | | llvm-svn: 70105 | |||||
* | fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue | Chris Lattner | 2009-04-25 | 1 | -1/+2 | |
| | | | | llvm-svn: 70067 | |||||
* | the logic for computing __func__ and friends is really broken: | Chris Lattner | 2009-04-23 | 1 | -2/+4 | |
| | | | | | | | | | the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. llvm-svn: 69872 | |||||
* | Make ObjCInterfaceDecl's const in some more places. | Daniel Dunbar | 2009-04-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 69775 | |||||
* | Kill ASTContext::[gs]etFieldForDecl, instead we just lookup things | Daniel Dunbar | 2009-04-21 | 1 | -1/+0 | |
| | | | | | | | | when we need them -- which is exactly what some code was already doing! - No intended functionality change. llvm-svn: 69648 | |||||
* | Silence gcc warning. | Eli Friedman | 2009-04-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 69541 | |||||
* | Make CodeGenFunction::EmitCallArgs a template function that takes a generic ↵ | Anders Carlsson | 2009-04-18 | 1 | -6/+38 | |
| | | | | | | "Type Info" parameter. The type info parameter knows how to iterate over its arguments. llvm-svn: 69469 | |||||
* | Implement basic code generation of constructor calls. We can now compile: | Anders Carlsson | 2009-04-17 | 1 | -0/+10 | |
| | | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330 | |||||
* | Support code generation of 'this' exprs | Anders Carlsson | 2009-04-14 | 1 | -0/+4 | |
| | | | | llvm-svn: 69050 | |||||
* | Remove asserts that weren't really useful, and that would fire in case the ↵ | Anders Carlsson | 2009-04-10 | 1 | -5/+0 | |
| | | | | | | CleanupEntries vector needed to be reallocated. llvm-svn: 68835 | |||||
* | Add code for emitting call arguments (not used yet). | Anders Carlsson | 2009-04-08 | 1 | -0/+11 | |
| | | | | llvm-svn: 68639 | |||||
* | Add some basic support for generating C++ member functions. | Anders Carlsson | 2009-04-04 | 1 | -0/+4 | |
| | | | | llvm-svn: 68425 | |||||
* | Add support for calling C++ member functions. | Anders Carlsson | 2009-04-03 | 1 | -0/+1 | |
| | | | | llvm-svn: 68412 | |||||
* | Fix a subtle bug where the cleanup scope entries had a dangling block reference | Daniel Dunbar | 2009-04-01 | 1 | -0/+5 | |
| | | | | | | | | | - <rdar://problem/6732143> Crash when generating @synchronize for zero-cost exception - Thanks to Anders for helping track down the problem. llvm-svn: 68186 | |||||
* | remove some obsolete comments, use an AssertingVH. | Chris Lattner | 2009-03-31 | 1 | -8/+5 | |
| | | | | llvm-svn: 68151 | |||||
* | Fixup codegen for block literals that bleed copy/dispose information | Mike Stump | 2009-03-25 | 1 | -1/+2 | |
| | | | | | | from previous block literals. llvm-svn: 67696 | |||||
* | Support member reference on ?: of struct type. | Daniel Dunbar | 2009-03-24 | 1 | -0/+1 | |
| | | | | llvm-svn: 67603 | |||||
* | Fix codegen for support for super inside block literal expressions. | Mike Stump | 2009-03-20 | 1 | -1/+4 | |
| | | | | llvm-svn: 67406 | |||||
* | More super dot-syntax property implementation | Fariborz Jahanian | 2009-03-20 | 1 | -0/+2 | |
| | | | | | | | when there is actually a property declaration used in the dot-syntax. llvm-svn: 67391 | |||||
* | add codegen support for casting an element to a union. | Chris Lattner | 2009-03-18 | 1 | -0/+1 | |
| | | | | | | | There are some more complex cases (_Complex and structs) that I'm still working on. llvm-svn: 67218 | |||||
* | Do up codegen for function static data and externs in functions in block | Mike Stump | 2009-03-13 | 1 | -0/+1 | |
| | | | | | | literals. llvm-svn: 66984 | |||||
* | Codegen support for copy helpers for block literals. | Mike Stump | 2009-03-07 | 1 | -21/+3 | |
| | | | | llvm-svn: 66319 | |||||
* | Pass the type of the block literal around to make required temporal ordering ↵ | Mike Stump | 2009-03-06 | 1 | -1/+1 | |
| | | | | | | of code clearer. llvm-svn: 66284 | |||||
* | prep work for copy/destroy helpers for block literals. | Mike Stump | 2009-03-05 | 1 | -9/+3 | |
| | | | | llvm-svn: 66159 | |||||
* | Move more blocks CodeGenFunction code up and out. | Mike Stump | 2009-03-04 | 1 | -23/+0 | |
| | | | | llvm-svn: 66049 | |||||
* | Move some of the CodeGenFunction blocks code up and out. No | Mike Stump | 2009-03-04 | 1 | -3/+0 | |
| | | | | | | functionality change. llvm-svn: 66048 | |||||
* | Move more of blocks codegen out of CodeGenModule and into the | Mike Stump | 2009-03-04 | 1 | -1/+1 | |
| | | | | | | | | | BlockModule. No functionality change. This should help people that don't want to know anything about blocks not be confused by the overloaded use of the term block or nor want to see all the blocks goop. llvm-svn: 66042 | |||||
* | Start the migration of more of the blocks code out of sight for most | Mike Stump | 2009-03-04 | 1 | -22/+2 | |
| | | | | | | people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66034 | |||||
* | Improved ABI compliance for __block variables. No testcases yet as we | Mike Stump | 2009-03-04 | 1 | -0/+33 | |
| | | | | | | | still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007 | |||||
* | Do some blocks cleanup and simplification. Fix a crash, and add a test case. | Anders Carlsson | 2009-03-01 | 1 | -0/+8 | |
| | | | | llvm-svn: 65746 | |||||
* | improve compatibility with the VC++'08 C++ compiler. Patch by | Chris Lattner | 2009-02-28 | 1 | -1/+1 | |
| | | | | | | Niklas Larsson! llvm-svn: 65706 | |||||
* | First cut CodeGen support for __block variables. | Mike Stump | 2009-02-28 | 1 | -29/+12 | |
| | | | | llvm-svn: 65688 | |||||
* | Create a new TypeNodes.def file that enumerates all of the types, | Douglas Gregor | 2009-02-26 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591 | |||||
* | Add Type::hasPointerRepresentation predicate. | Daniel Dunbar | 2009-02-26 | 1 | -4/+0 | |
| | | | | | | | | | - For types whose native representation is a pointer. - Use to replace ExprConstant.cpp:HasPointerEvalType, CodeGenFunction::isObjCPointerType. llvm-svn: 65569 | |||||
* | CodeGen support for copied BlockDeclRefExprs. | Mike Stump | 2009-02-25 | 1 | -12/+32 | |
| | | | | llvm-svn: 65487 | |||||
* | Fold GeneraticStaticBlockVarDecl into callers. | Daniel Dunbar | 2009-02-25 | 1 | -8/+0 | |
| | | | | | | - No functionality change. llvm-svn: 65470 |