summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup ctor/dtor emission.Anders Carlsson2009-11-061-11/+12
| | | | llvm-svn: 86222
* Handle ParenExprs in mangleExpression.Anders Carlsson2009-11-061-0/+5
| | | | llvm-svn: 86218
* Refine the vcall for a function that is defined in a virtual baseMike Stump2009-11-061-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 Patel2009-11-051-7/+0
| | | | llvm-svn: 86156
* Added support for static variables which requireFariborz Jahanian2009-11-052-5/+10
| | | | | | initialization before main. Fixes pr5396. llvm-svn: 86145
* References can't be zero; omit zero check for return value adjustmentsMike Stump2009-11-051-19/+25
| | | | | | in covariant thunks that return references. llvm-svn: 86121
* Refine covariant return value adjustments for thunks when nullMike Stump2009-11-051-1/+19
| | | | | | pointers are returned. llvm-svn: 86120
* Add code gen for pointer-to-member function inFariborz Jahanian2009-11-041-0/+2
| | | | | | ctor's initializer. Fixes pr5178. llvm-svn: 86040
* This patch extends CleanupScope to support destructionFariborz Jahanian2009-11-043-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 Gregor2009-11-041-1/+1
| | | | | | from Peter Collingbourne! llvm-svn: 86030
* Merge constant array and structures. This will create a global variables for ↵Tanya Lattner2009-11-041-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 Stump2009-11-041-15/+19
| | | | llvm-svn: 85990
* Split out return adjustments in thunks from this adjustment in thunksMike Stump2009-11-041-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 Stump2009-11-031-2/+0
| | | | llvm-svn: 85978
* Refine volatile handling, specifically, we must have the canonicalMike Stump2009-11-034-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 Stump2009-11-031-4/+4
| | | | llvm-svn: 85916
* Refine return value adjustments for thunks.Mike Stump2009-11-032-28/+42
| | | | llvm-svn: 85905
* Fix documentation.Mike Stump2009-11-031-1/+1
| | | | llvm-svn: 85901
* Refine codegen for non-virtual this adjustments for thunks.Mike Stump2009-11-031-5/+12
| | | | llvm-svn: 85856
* Add virtual adjustments for this for thunks.Mike Stump2009-11-031-2/+30
| | | | llvm-svn: 85852
* Add basic codegen for thunks that return values.Mike Stump2009-11-021-2/+5
| | | | llvm-svn: 85842
* Refine codegen for thunks.Mike Stump2009-11-021-30/+27
| | | | llvm-svn: 85839
* Refine vcall/vbase ordering with vtable construction.Mike Stump2009-10-311-47/+91
| | | | llvm-svn: 85677
* Get throws limping along, still a bunch of FIXMEs. Too bad we don't support ↵Anders Carlsson2009-10-301-1/+86
| | | | | | catching anything yet :) llvm-svn: 85574
* Fix thinko, mangleCXXRtti should obviously take a QualType!Anders Carlsson2009-10-303-8/+6
| | | | llvm-svn: 85565
* Add CGException.cpp, to be used for exception related code generation.Anders Carlsson2009-10-304-1/+29
| | | | llvm-svn: 85560
* mangleCXXRtti obviously needs to take a type, what was I thinking...Anders Carlsson2009-10-303-17/+19
| | | | llvm-svn: 85555
* Patch for destruction of array of objects on block exit.Fariborz Jahanian2009-10-291-4/+13
| | | | llvm-svn: 85512
* make clang emit undefs for padding of structs and unions instead of zeros. ↵Nuno Lopes2009-10-291-3/+3
| | | | | | this enables constant compaction optimizations. llvm-svn: 85504
* optimize out some ifdefs.Chris Lattner2009-10-291-4/+0
| | | | llvm-svn: 85453
* Implement clang support for indirect branch and address of labelChris Lattner2009-10-285-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 Jahanian2009-10-281-3/+4
| | | | llvm-svn: 85434
* Code gen for array construction - WIPFariborz Jahanian2009-10-281-4/+17
| | | | llvm-svn: 85432
* Refactor a bit.Mike Stump2009-10-281-9/+1
| | | | llvm-svn: 85424
* factor a creation of Int32Ty.Chris Lattner2009-10-281-4/+3
| | | | llvm-svn: 85422
* random tidyingChris Lattner2009-10-281-101/+104
| | | | llvm-svn: 85408
* Mangle based on the declaration we're given, not the canonicalDouglas Gregor2009-10-281-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 Lattner2009-10-281-3/+3
| | | | llvm-svn: 85373
* Add mangling for VTTs.Mike Stump2009-10-282-0/+9
| | | | llvm-svn: 85363
* Finish off pure virtual function handling.Mike Stump2009-10-281-5/+18
| | | | llvm-svn: 85354
* Prep work for putting ___cxa_pure_virtual in the vtables for pure functions.Mike Stump2009-10-271-0/+13
| | | | llvm-svn: 85345
* Refactor code a little.Mike Stump2009-10-271-25/+15
| | | | llvm-svn: 85343
* Implement proper linkage for explicit instantiation declarations ofDouglas Gregor2009-10-271-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 withMike Stump2009-10-271-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 shouldDouglas Gregor2009-10-271-2/+2
| | | | | | be inlined. llvm-svn: 85307
* Rename FunctionDecl::isInline/setInline toDouglas Gregor2009-10-271-2/+2
| | | | | | FunctionDecl::isInlineSpecified/setInlineSpecified. llvm-svn: 85305
* Set OptimizeForSize LLVM function attribute with -Os.Daniel Dunbar2009-10-271-0/+2
| | | | llvm-svn: 85278
* Fix crash when synthesizing property setters when the property type and ivarDaniel Dunbar2009-10-271-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 Carlsson2009-10-271-0/+4
| | | | llvm-svn: 85237
* Prep for future __builtin_object_size refinements. The theory is thatMike Stump2009-10-261-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
OpenPOWER on IntegriCloud