Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Cleanup ctor/dtor emission. | Anders Carlsson | 2009-11-06 | 1 | -11/+12 | |
| | | | | llvm-svn: 86222 | |||||
* | Handle ParenExprs in mangleExpression. | Anders Carlsson | 2009-11-06 | 1 | -0/+5 | |
| | | | | llvm-svn: 86218 | |||||
* | Refine the vcall for a function that is defined in a virtual base | Mike Stump | 2009-11-06 | 1 | -6/+13 | |
| | | | | | | class that is overridden in a base that isn't morally virtual. llvm-svn: 86217 | |||||
* | Enable debug info for global variables at -O1+ | Devang Patel | 2009-11-05 | 1 | -7/+0 | |
| | | | | llvm-svn: 86156 | |||||
* | Added support for static variables which require | Fariborz Jahanian | 2009-11-05 | 2 | -5/+10 | |
| | | | | | | initialization before main. Fixes pr5396. llvm-svn: 86145 | |||||
* | References can't be zero; omit zero check for return value adjustments | Mike Stump | 2009-11-05 | 1 | -19/+25 | |
| | | | | | | in covariant thunks that return references. llvm-svn: 86121 | |||||
* | Refine covariant return value adjustments for thunks when null | Mike Stump | 2009-11-05 | 1 | -1/+19 | |
| | | | | | | pointers are returned. llvm-svn: 86120 | |||||
* | Add code gen for pointer-to-member function in | Fariborz Jahanian | 2009-11-04 | 1 | -0/+2 | |
| | | | | | | ctor's initializer. Fixes pr5178. llvm-svn: 86040 | |||||
* | This patch extends CleanupScope to support destruction | Fariborz Jahanian | 2009-11-04 | 3 | -22/+41 | |
| | | | | | | of array objects on block exit. Patch is by Anders Calrsson. llvm-svn: 86032 | |||||
* | Store the unresolved class type in MemberPointerType's Class field, | Douglas Gregor | 2009-11-04 | 1 | -1/+1 | |
| | | | | | | from Peter Collingbourne! llvm-svn: 86030 | |||||
* | Merge constant array and structures. This will create a global variables for ↵ | Tanya Lattner | 2009-11-04 | 1 | -0/+15 | |
| | | | | | | arrays and structs that are constant and their initializer is constant. It is on by default but can be disable with the flag -fno-merge-all-constants. llvm-svn: 85991 | |||||
* | Fix 80-col violations. | Mike Stump | 2009-11-04 | 1 | -15/+19 | |
| | | | | llvm-svn: 85990 | |||||
* | Split out return adjustments in thunks from this adjustment in thunks | Mike Stump | 2009-11-04 | 1 | -2/+9 | |
| | | | | | | | so the optimizer can tailcall into the return value adjustment thunk. This improves codesize for complex hierarchies. llvm-svn: 85988 | |||||
* | Misc cleanups. | Mike Stump | 2009-11-03 | 1 | -2/+0 | |
| | | | | llvm-svn: 85978 | |||||
* | Refine volatile handling, specifically, we must have the canonical | Mike Stump | 2009-11-03 | 4 | -14/+21 | |
| | | | | | | | type to look at the volatile specifier. I found these all from just hand auditing the code. llvm-svn: 85967 | |||||
* | Refine codegen for covariant thunks that return references. | Mike Stump | 2009-11-03 | 1 | -4/+4 | |
| | | | | llvm-svn: 85916 | |||||
* | Refine return value adjustments for thunks. | Mike Stump | 2009-11-03 | 2 | -28/+42 | |
| | | | | llvm-svn: 85905 | |||||
* | Fix documentation. | Mike Stump | 2009-11-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 85901 | |||||
* | Refine codegen for non-virtual this adjustments for thunks. | Mike Stump | 2009-11-03 | 1 | -5/+12 | |
| | | | | llvm-svn: 85856 | |||||
* | Add virtual adjustments for this for thunks. | Mike Stump | 2009-11-03 | 1 | -2/+30 | |
| | | | | llvm-svn: 85852 | |||||
* | Add basic codegen for thunks that return values. | Mike Stump | 2009-11-02 | 1 | -2/+5 | |
| | | | | llvm-svn: 85842 | |||||
* | Refine codegen for thunks. | Mike Stump | 2009-11-02 | 1 | -30/+27 | |
| | | | | llvm-svn: 85839 | |||||
* | Refine vcall/vbase ordering with vtable construction. | Mike Stump | 2009-10-31 | 1 | -47/+91 | |
| | | | | llvm-svn: 85677 | |||||
* | Get throws limping along, still a bunch of FIXMEs. Too bad we don't support ↵ | Anders Carlsson | 2009-10-30 | 1 | -1/+86 | |
| | | | | | | catching anything yet :) llvm-svn: 85574 | |||||
* | Fix thinko, mangleCXXRtti should obviously take a QualType! | Anders Carlsson | 2009-10-30 | 3 | -8/+6 | |
| | | | | llvm-svn: 85565 | |||||
* | Add CGException.cpp, to be used for exception related code generation. | Anders Carlsson | 2009-10-30 | 4 | -1/+29 | |
| | | | | llvm-svn: 85560 | |||||
* | mangleCXXRtti obviously needs to take a type, what was I thinking... | Anders Carlsson | 2009-10-30 | 3 | -17/+19 | |
| | | | | llvm-svn: 85555 | |||||
* | Patch for destruction of array of objects on block exit. | Fariborz Jahanian | 2009-10-29 | 1 | -4/+13 | |
| | | | | llvm-svn: 85512 | |||||
* | make clang emit undefs for padding of structs and unions instead of zeros. ↵ | Nuno Lopes | 2009-10-29 | 1 | -3/+3 | |
| | | | | | | this enables constant compaction optimizations. llvm-svn: 85504 | |||||
* | optimize out some ifdefs. | Chris Lattner | 2009-10-29 | 1 | -4/+0 | |
| | | | | llvm-svn: 85453 | |||||
* | Implement clang support for indirect branch and address of label | Chris Lattner | 2009-10-28 | 5 | -0/+102 | |
| | | | | | | | | using the new LLVM support for this. This is temporarily hiding behind horrible and ugly #ifdefs until the time when the optimizer is stable (hopefully a week or so). Until then, lets make it "opt in" :) llvm-svn: 85446 | |||||
* | Minor cleanup. | Fariborz Jahanian | 2009-10-28 | 1 | -3/+4 | |
| | | | | llvm-svn: 85434 | |||||
* | Code gen for array construction - WIP | Fariborz Jahanian | 2009-10-28 | 1 | -4/+17 | |
| | | | | llvm-svn: 85432 | |||||
* | Refactor a bit. | Mike Stump | 2009-10-28 | 1 | -9/+1 | |
| | | | | llvm-svn: 85424 | |||||
* | factor a creation of Int32Ty. | Chris Lattner | 2009-10-28 | 1 | -4/+3 | |
| | | | | llvm-svn: 85422 | |||||
* | random tidying | Chris Lattner | 2009-10-28 | 1 | -101/+104 | |
| | | | | llvm-svn: 85408 | |||||
* | Mangle based on the declaration we're given, not the canonical | Douglas Gregor | 2009-10-28 | 1 | -1/+2 | |
| | | | | | | | | declaration, since attributes that affect mangling may have been added to subsequent declarations. However, to determine the linkage of the declaration, we need to look at the canonical declaration. Fixes PR4412. llvm-svn: 85400 | |||||
* | adjust for a pending LLVM change. | Chris Lattner | 2009-10-28 | 1 | -3/+3 | |
| | | | | llvm-svn: 85373 | |||||
* | Add mangling for VTTs. | Mike Stump | 2009-10-28 | 2 | -0/+9 | |
| | | | | llvm-svn: 85363 | |||||
* | Finish off pure virtual function handling. | Mike Stump | 2009-10-28 | 1 | -5/+18 | |
| | | | | llvm-svn: 85354 | |||||
* | Prep work for putting ___cxa_pure_virtual in the vtables for pure functions. | Mike Stump | 2009-10-27 | 1 | -0/+13 | |
| | | | | llvm-svn: 85345 | |||||
* | Refactor code a little. | Mike Stump | 2009-10-27 | 1 | -25/+15 | |
| | | | | llvm-svn: 85343 | |||||
* | Implement proper linkage for explicit instantiation declarations of | Douglas Gregor | 2009-10-27 | 1 | -14/+14 | |
| | | | | | | | | | | | | | | | | | | | | | inlined functions. For example, given template<typename T> class string { unsigned Len; public: unsigned size() const { return Len; } }; extern template class string<char>; we now give the instantiation of string<char>::size available_externally linkage (if it is ever instantiated!), as permitted by the C++0x standard. llvm-svn: 85340 | |||||
* | __builtin_object_size refinements. Ensure we handle expressions with | Mike Stump | 2009-10-27 | 1 | -5/+7 | |
| | | | | | | | | | | side-effects up front, as when we switch to the llvm intrinsic call for __builtin_object_size later, it will have two evaluations. We also finish off the intrinsic version of the code so we can just turn it on once llvm has the intrinsic. llvm-svn: 85324 | |||||
* | Introduce FunctionDecl::isInlined() to tell whether a function should | Douglas Gregor | 2009-10-27 | 1 | -2/+2 | |
| | | | | | | be inlined. llvm-svn: 85307 | |||||
* | Rename FunctionDecl::isInline/setInline to | Douglas Gregor | 2009-10-27 | 1 | -2/+2 | |
| | | | | | | FunctionDecl::isInlineSpecified/setInlineSpecified. llvm-svn: 85305 | |||||
* | Set OptimizeForSize LLVM function attribute with -Os. | Daniel Dunbar | 2009-10-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 85278 | |||||
* | Fix crash when synthesizing property setters when the property type and ivar | Daniel Dunbar | 2009-10-27 | 1 | -5/+17 | |
| | | | | | | | type have mismatched Objective-C types. - <rdar://problem/7336352> [irgen] crash in synthesized property construction llvm-svn: 85275 | |||||
* | Add a PrettyStackTraceDecl in CodeGenModule::EmitGlobalDefinition. | Anders Carlsson | 2009-10-27 | 1 | -0/+4 | |
| | | | | llvm-svn: 85237 | |||||
* | Prep for future __builtin_object_size refinements. The theory is that | Mike Stump | 2009-10-26 | 1 | -0/+11 | |
| | | | | | | | | | | someone will add an llvm intrinsic for us to use, so the optimizer can figure out the hard cases. WIP. For those that want to help, double check with Eric before starting. He has a bit of code this will plug into. llvm-svn: 85175 |