Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Work around emitters that can't deal with dead code contexts yet. | Mike Stump | 2009-12-07 | 1 | -0/+4 | |
| | | | | llvm-svn: 90796 | |||||
* | Mangle basic_ostream and basic_iostream specializations. | Anders Carlsson | 2009-12-07 | 1 | -12/+34 | |
| | | | | llvm-svn: 90794 | |||||
* | Remove obsolete fallback code for objectsize. | Mike Stump | 2009-12-07 | 1 | -10/+0 | |
| | | | | llvm-svn: 90780 | |||||
* | implement PR5274: mark 'restrict' parameters as noalias | Nuno Lopes | 2009-12-07 | 1 | -0/+3 | |
| | | | | llvm-svn: 90778 | |||||
* | It's OK to try to emit a vtable definition more than once. Fixes PR5697. | Anders Carlsson | 2009-12-07 | 1 | -2/+7 | |
| | | | | llvm-svn: 90751 | |||||
* | Erm, revert for the moment; I didn't test this as thoroughly as I should have | Eli Friedman | 2009-12-07 | 1 | -3/+3 | |
| | | | | | | (although it does pass regression tests). llvm-svn: 90747 | |||||
* | Tweak the formula for non-virtual offsets to something which appears a bit | Eli Friedman | 2009-12-07 | 1 | -3/+3 | |
| | | | | | | more accurate. llvm-svn: 90746 | |||||
* | Move key functions to a separate map. | Anders Carlsson | 2009-12-07 | 1 | -3/+1 | |
| | | | | llvm-svn: 90745 | |||||
* | Be a bit more complete about accumulating SavedThisAdjustments. | Eli Friedman | 2009-12-06 | 1 | -2/+4 | |
| | | | | llvm-svn: 90723 | |||||
* | Work-in-progess rewrite of thunks: move thunk generation outside of vtable | Eli Friedman | 2009-12-06 | 5 | -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 Carlsson | 2009-12-06 | 3 | -128/+172 | |
| | | | | llvm-svn: 90711 | |||||
* | use new helpers to simplify code. | Chris Lattner | 2009-12-06 | 1 | -8/+4 | |
| | | | | llvm-svn: 90709 | |||||
* | Set the correct linkage for VTTs as well. | Anders Carlsson | 2009-12-06 | 3 | -61/+42 | |
| | | | | llvm-svn: 90689 | |||||
* | More linkage improvements. | Anders Carlsson | 2009-12-06 | 2 | -15/+32 | |
| | | | | llvm-svn: 90687 | |||||
* | Pass the desired vtable linkage to GenerateVtable directly. Only call ↵ | Anders Carlsson | 2009-12-06 | 2 | -26/+13 | |
| | | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686 | |||||
* | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 3 | -36/+35 | |
| | | | | llvm-svn: 90684 | |||||
* | Only emit the vtable definition if the class has a key function and we're ↵ | Anders Carlsson | 2009-12-05 | 1 | -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 Carlsson | 2009-12-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 90680 | |||||
* | Use createGlobalVariable for creating vtable variables too. | Anders Carlsson | 2009-12-05 | 1 | -42/+36 | |
| | | | | llvm-svn: 90679 | |||||
* | CodeGenModule::GenerateVtable now returns a pointer directly to the vtable ↵ | Anders Carlsson | 2009-12-05 | 2 | -34/+34 | |
| | | | | | | and not to the address point. llvm-svn: 90676 | |||||
* | Make sure that hte vtable always has an i8* array type. | Anders Carlsson | 2009-12-05 | 1 | -5/+4 | |
| | | | | llvm-svn: 90675 | |||||
* | Add a function for getting the vtable address point of a class. | Anders Carlsson | 2009-12-05 | 2 | -0/+12 | |
| | | | | llvm-svn: 90674 | |||||
* | Simplify BuildVTT. | Anders Carlsson | 2009-12-05 | 1 | -11/+10 | |
| | | | | llvm-svn: 90673 | |||||
* | Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵ | Anders Carlsson | 2009-12-05 | 1 | -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 Carlsson | 2009-12-05 | 1 | -2/+10 | |
| | | | | | | variable. llvm-svn: 90671 | |||||
* | Simplify some code. | Anders Carlsson | 2009-12-05 | 1 | -11/+11 | |
| | | | | llvm-svn: 90670 | |||||
* | Factor vtable related GlobalVariable creation out into a separate function. ↵ | Anders Carlsson | 2009-12-05 | 1 | -24/+40 | |
| | | | | | | Add vtable linkage test. llvm-svn: 90667 | |||||
* | implement rdar://7346691 by codegen'ing struct/array initializers | Chris Lattner | 2009-12-05 | 2 | -63/+129 | |
| | | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658 | |||||
* | various cleanups. | Chris Lattner | 2009-12-05 | 1 | -9/+11 | |
| | | | | llvm-svn: 90657 | |||||
* | simplify a condition and add a testcase. | Chris Lattner | 2009-12-05 | 1 | -8/+10 | |
| | | | | llvm-svn: 90652 | |||||
* | Skip actually generating the vtable unless we are defining it. This avoids | Eli Friedman | 2009-12-05 | 1 | -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 Carlsson | 2009-12-04 | 1 | -5/+11 | |
| | | | | llvm-svn: 90624 | |||||
* | Add support for function try blocks. | Mike Stump | 2009-12-04 | 3 | -2/+51 | |
| | | | | llvm-svn: 90622 | |||||
* | Fix "using typename" and the instantiation of non-dependent using declarations. | John McCall | 2009-12-04 | 1 | -0/+6 | |
| | | | | llvm-svn: 90614 | |||||
* | Return bool as a bool instead of a uint64_t. | Benjamin Kramer | 2009-12-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 90610 | |||||
* | Put in FIXME that this mangling is not official in. | Alexis Hunt | 2009-12-04 | 1 | -1/+1 | |
| | | | | llvm-svn: 90594 | |||||
* | Switch mangling of literal operator names to a string that's | Alexis Hunt | 2009-12-04 | 1 | -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 Stump | 2009-12-04 | 1 | -1/+4 | |
| | | | | llvm-svn: 90586 | |||||
* | When generating a virtual destructor, don't try to make a virtual call to ↵ | Anders Carlsson | 2009-12-04 | 1 | -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 Stump | 2009-12-04 | 1 | -2/+12 | |
| | | | | llvm-svn: 90576 | |||||
* | Fix warning and be sure to set up the rethrow pointer if we fall off | Mike Stump | 2009-12-04 | 1 | -3/+5 | |
| | | | | | | the end of all the catches. llvm-svn: 90574 | |||||
* | Rename 'Class' to 'MostDerivedClass' | Anders Carlsson | 2009-12-04 | 1 | -8/+13 | |
| | | | | llvm-svn: 90573 | |||||
* | Store the vtable components in a SmallVector. | Anders Carlsson | 2009-12-04 | 1 | -2/+3 | |
| | | | | llvm-svn: 90571 | |||||
* | Use a different ConstantArray::get. | Anders Carlsson | 2009-12-04 | 1 | -1/+2 | |
| | | | | llvm-svn: 90570 | |||||
* | Move the vtable vector directly into the Vtable builder. | Anders Carlsson | 2009-12-04 | 1 | -19/+30 | |
| | | | | llvm-svn: 90569 | |||||
* | Change getIndex to return false if the index wasn't found. Avoids an extra ↵ | Anders Carlsson | 2009-12-04 | 1 | -11/+12 | |
| | | | | | | hash lookup. llvm-svn: 90568 | |||||
* | Minor cleanup; no functionality change. | Eli Friedman | 2009-12-04 | 1 | -9/+3 | |
| | | | | llvm-svn: 90565 | |||||
* | Remove unused argument. | Eli Friedman | 2009-12-04 | 1 | -16/+14 | |
| | | | | llvm-svn: 90563 | |||||
* | Eliminate submethods vector. | Eli Friedman | 2009-12-04 | 1 | -6/+0 | |
| | | | | llvm-svn: 90562 | |||||
* | Eliminate the inner loop in VtableBuilder::OverrideMethod. | Eli Friedman | 2009-12-04 | 1 | -75/+71 | |
| | | | | llvm-svn: 90561 |