summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Work around emitters that can't deal with dead code contexts yet.Mike Stump2009-12-071-0/+4
| | | | llvm-svn: 90796
* Mangle basic_ostream and basic_iostream specializations.Anders Carlsson2009-12-071-12/+34
| | | | llvm-svn: 90794
* Remove obsolete fallback code for objectsize.Mike Stump2009-12-071-10/+0
| | | | llvm-svn: 90780
* implement PR5274: mark 'restrict' parameters as noaliasNuno Lopes2009-12-071-0/+3
| | | | llvm-svn: 90778
* It's OK to try to emit a vtable definition more than once. Fixes PR5697.Anders Carlsson2009-12-071-2/+7
| | | | llvm-svn: 90751
* Erm, revert for the moment; I didn't test this as thoroughly as I should haveEli Friedman2009-12-071-3/+3
| | | | | | (although it does pass regression tests). llvm-svn: 90747
* Tweak the formula for non-virtual offsets to something which appears a bitEli Friedman2009-12-071-3/+3
| | | | | | more accurate. llvm-svn: 90746
* Move key functions to a separate map.Anders Carlsson2009-12-071-3/+1
| | | | llvm-svn: 90745
* Be a bit more complete about accumulating SavedThisAdjustments.Eli Friedman2009-12-061-2/+4
| | | | llvm-svn: 90723
* Work-in-progess rewrite of thunks: move thunk generation outside of vtableEli Friedman2009-12-065-9/+183
| | | | | | | generation, and make sure we generate thunks when the function is defined rather than when the vtable is defined. llvm-svn: 90722
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-063-128/+172
| | | | llvm-svn: 90711
* use new helpers to simplify code.Chris Lattner2009-12-061-8/+4
| | | | llvm-svn: 90709
* Set the correct linkage for VTTs as well.Anders Carlsson2009-12-063-61/+42
| | | | llvm-svn: 90689
* More linkage improvements.Anders Carlsson2009-12-062-15/+32
| | | | llvm-svn: 90687
* Pass the desired vtable linkage to GenerateVtable directly. Only call ↵Anders Carlsson2009-12-062-26/+13
| | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686
* Make GenerateVtable a private member function of CGVtableInfo.Anders Carlsson2009-12-063-36/+35
| | | | llvm-svn: 90684
* Only emit the vtable definition if the class has a key function and we're ↵Anders Carlsson2009-12-051-32/+22
| | | | | | emitting it, or if the class doesn't have a key function and we are emitting the complete constructor. llvm-svn: 90681
* If a class does not have a key function, its linkage should be weak_odr.Anders Carlsson2009-12-051-2/+2
| | | | llvm-svn: 90680
* Use createGlobalVariable for creating vtable variables too.Anders Carlsson2009-12-051-42/+36
| | | | llvm-svn: 90679
* CodeGenModule::GenerateVtable now returns a pointer directly to the vtable ↵Anders Carlsson2009-12-052-34/+34
| | | | | | and not to the address point. llvm-svn: 90676
* Make sure that hte vtable always has an i8* array type.Anders Carlsson2009-12-051-5/+4
| | | | llvm-svn: 90675
* Add a function for getting the vtable address point of a class.Anders Carlsson2009-12-052-0/+12
| | | | llvm-svn: 90674
* Simplify BuildVTT.Anders Carlsson2009-12-051-11/+10
| | | | llvm-svn: 90673
* Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵Anders Carlsson2009-12-051-4/+4
| | | | | | and not to the vtable address point. llvm-svn: 90672
* Change getCtorVtable to not return the address point offset, but the global ↵Anders Carlsson2009-12-051-2/+10
| | | | | | variable. llvm-svn: 90671
* Simplify some code.Anders Carlsson2009-12-051-11/+11
| | | | llvm-svn: 90670
* Factor vtable related GlobalVariable creation out into a separate function. ↵Anders Carlsson2009-12-051-24/+40
| | | | | | Add vtable linkage test. llvm-svn: 90667
* implement rdar://7346691 by codegen'ing struct/array initializersChris Lattner2009-12-052-63/+129
| | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658
* various cleanups.Chris Lattner2009-12-051-9/+11
| | | | llvm-svn: 90657
* simplify a condition and add a testcase.Chris Lattner2009-12-051-8/+10
| | | | llvm-svn: 90652
* Skip actually generating the vtable unless we are defining it. This avoidsEli Friedman2009-12-051-24/+38
| | | | | | the side-effects of generating the methods in the vtable (including PR5676). llvm-svn: 90635
* Don't emit explicit specializations of static member variable declarations.Anders Carlsson2009-12-041-5/+11
| | | | llvm-svn: 90624
* Add support for function try blocks.Mike Stump2009-12-043-2/+51
| | | | llvm-svn: 90622
* Fix "using typename" and the instantiation of non-dependent using declarations.John McCall2009-12-041-0/+6
| | | | llvm-svn: 90614
* Return bool as a bool instead of a uint64_t.Benjamin Kramer2009-12-041-1/+1
| | | | llvm-svn: 90610
* Put in FIXME that this mangling is not official in.Alexis Hunt2009-12-041-1/+1
| | | | llvm-svn: 90594
* Switch mangling of literal operator names to a string that'sAlexis Hunt2009-12-041-1/+1
| | | | | | | | | | a) legal b) likely to be chosen as the official mangling This will break ABI compatibility with all literal operator names, so you may need to recompile any such code. Sorry. llvm-svn: 90587
* Be sure to instantiate rtti for non-polymorphic bases.Mike Stump2009-12-041-1/+4
| | | | llvm-svn: 90586
* When generating a virtual destructor, don't try to make a virtual call to ↵Anders Carlsson2009-12-041-10/+18
| | | | | | | | the base class destructor because then we'll just re-enter the same destructor! This was done to fix PR5619, so I went ahead and passed a dummy VTT pointer for now. llvm-svn: 90578
* Fixup nested try blocks.Mike Stump2009-12-041-2/+12
| | | | llvm-svn: 90576
* Fix warning and be sure to set up the rethrow pointer if we fall offMike Stump2009-12-041-3/+5
| | | | | | the end of all the catches. llvm-svn: 90574
* Rename 'Class' to 'MostDerivedClass'Anders Carlsson2009-12-041-8/+13
| | | | llvm-svn: 90573
* Store the vtable components in a SmallVector.Anders Carlsson2009-12-041-2/+3
| | | | llvm-svn: 90571
* Use a different ConstantArray::get.Anders Carlsson2009-12-041-1/+2
| | | | llvm-svn: 90570
* Move the vtable vector directly into the Vtable builder.Anders Carlsson2009-12-041-19/+30
| | | | llvm-svn: 90569
* Change getIndex to return false if the index wasn't found. Avoids an extra ↵Anders Carlsson2009-12-041-11/+12
| | | | | | hash lookup. llvm-svn: 90568
* Minor cleanup; no functionality change.Eli Friedman2009-12-041-9/+3
| | | | llvm-svn: 90565
* Remove unused argument.Eli Friedman2009-12-041-16/+14
| | | | llvm-svn: 90563
* Eliminate submethods vector.Eli Friedman2009-12-041-6/+0
| | | | llvm-svn: 90562
* Eliminate the inner loop in VtableBuilder::OverrideMethod.Eli Friedman2009-12-041-75/+71
| | | | llvm-svn: 90561
OpenPOWER on IntegriCloud