| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Handle primary bases in AddVCallOffsets. | Anders Carlsson | 2010-02-17 | 1 | -2/+9 |
| | | | | | llvm-svn: 96461 | ||||
| * | Silence GCC warning by marking an assert-only variable as unused. | Chandler Carruth | 2010-02-17 | 1 | -1/+1 |
| | | | | | llvm-svn: 96459 | ||||
| * | First cut at emitting vcall offsets. | Anders Carlsson | 2010-02-17 | 1 | -3/+77 |
| | | | | | llvm-svn: 96455 | ||||
| * | Pass through whether a base is virtual or not. | Anders Carlsson | 2010-02-17 | 1 | -17/+26 |
| | | | | | llvm-svn: 96449 | ||||
| * | Correctly calculate base offsets for 'this' pointer adjustments involving ↵ | Anders Carlsson | 2010-02-17 | 1 | -3/+40 |
| | | | | | | | virtual bases. This can't be tested yet due to lack of vcall offsets :) llvm-svn: 96441 | ||||
| * | Handle layout of vtables for virtual bases. | Anders Carlsson | 2010-02-16 | 1 | -1/+41 |
| | | | | | llvm-svn: 96355 | ||||
| * | Move some code around in preparation for virtual base vtables. | Anders Carlsson | 2010-02-16 | 1 | -9/+18 |
| | | | | | llvm-svn: 96354 | ||||
| * | Fix a bug where we would not emit secondary vtables for bases of a primary base. | Anders Carlsson | 2010-02-16 | 1 | -12/+29 |
| | | | | | llvm-svn: 96351 | ||||
| * | Emit vbase offsets. | Anders Carlsson | 2010-02-16 | 1 | -4/+38 |
| | | | | | llvm-svn: 96329 | ||||
| * | More work on the new layout code. | Anders Carlsson | 2010-02-16 | 1 | -11/+66 |
| | | | | | llvm-svn: 96328 | ||||
| * | Don't compute final overriders or build vtables for bases that don't need a ↵ | Anders Carlsson | 2010-02-14 | 1 | -3/+17 |
| | | | | | | | vtable. llvm-svn: 96171 | ||||
| * | Build fix. | Anders Carlsson | 2010-02-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 96140 | ||||
| * | Baby steps towards teaching FinalOverriders about virtual bases. | Anders Carlsson | 2010-02-14 | 1 | -14/+31 |
| | | | | | llvm-svn: 96139 | ||||
| * | Don't try to layout construction vtables for now. | Anders Carlsson | 2010-02-14 | 1 | -1/+2 |
| | | | | | llvm-svn: 96138 | ||||
| * | Improve support for non-virtual 'this' pointer adjustments. With this, it ↵ | Anders Carlsson | 2010-02-14 | 1 | -27/+41 |
| | | | | | | | should be possible to use the new vtable layout code for all class hierarchies that do not involve virtual bases. llvm-svn: 96137 | ||||
| * | Add basic support for simple non-virtual 'this' pointer adjustments. | Anders Carlsson | 2010-02-13 | 1 | -5/+85 |
| | | | | | llvm-svn: 96136 | ||||
| * | Add support for very simple non-virtual this adjustments in the ↵ | Anders Carlsson | 2010-02-13 | 1 | -17/+68 |
| | | | | | | | FinalOverriders class. llvm-svn: 96133 | ||||
| * | Cleanup; remove some duplicated code. | Anders Carlsson | 2010-02-13 | 1 | -96/+4 |
| | | | | | llvm-svn: 96131 | ||||
| * | Assert if we encounter this adjustments. | Anders Carlsson | 2010-02-13 | 1 | -2/+9 |
| | | | | | llvm-svn: 96125 | ||||
| * | Start laying out secondary vtables. | Anders Carlsson | 2010-02-13 | 1 | -10/+17 |
| | | | | | llvm-svn: 96123 | ||||
| * | Merge base offsets and dump them. | Anders Carlsson | 2010-02-13 | 1 | -6/+42 |
| | | | | | llvm-svn: 96121 | ||||
| * | Don't make return adjustments for pure virtual member functions. | Anders Carlsson | 2010-02-13 | 1 | -5/+8 |
| | | | | | llvm-svn: 96120 | ||||
| * | Handle virtual bases in return adjustment types. | Anders Carlsson | 2010-02-13 | 1 | -17/+37 |
| | | | | | llvm-svn: 96119 | ||||
| * | Handle virtual bases in ComputeBaseOffset. | Anders Carlsson | 2010-02-13 | 1 | -10/+27 |
| | | | | | llvm-svn: 96117 | ||||
| * | More work on covariant return types. We now handle non-virtual adjustments fine. | Anders Carlsson | 2010-02-13 | 1 | -27/+96 |
| | | | | | llvm-svn: 96114 | ||||
| * | Fix think-o, attributes can't come *within* the type of the variable. | Chandler Carruth | 2010-02-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 96099 | ||||
| * | Silence unused variable warning in a build without assertions. | Chandler Carruth | 2010-02-13 | 1 | -1/+2 |
| | | | | | llvm-svn: 96098 | ||||
| * | Remove dead {include, semicolon, variable}. | Benjamin Kramer | 2010-02-13 | 1 | -5/+1 |
| | | | | | llvm-svn: 96087 | ||||
| * | Use a different name for this iterator. MSVC and clang++ didn't like "I" in ↵ | Benjamin Kramer | 2010-02-13 | 1 | -3/+3 |
| | | | | | | | the same scope twice. llvm-svn: 96086 | ||||
| * | More work on return type adjustments in the new vtable builder. | Anders Carlsson | 2010-02-13 | 1 | -34/+155 |
| | | | | | llvm-svn: 96070 | ||||
| * | Switch the standard DeclarationName comparator to be a tri-valued comparator. | John McCall | 2010-02-13 | 1 | -4/+5 |
| | | | | | | | | Use that while fixing a nasty misuse of qsort in vtable codegen which, somehow, has not actually caused a crash. llvm-svn: 96062 | ||||
| * | if-0 out printf. | Eli Friedman | 2010-02-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 96052 | ||||
| * | Fix a refacto that broke the clang-on-clang build. | Anders Carlsson | 2010-02-12 | 1 | -7/+1 |
| | | | | | llvm-svn: 95994 | ||||
| * | Start stubbing out more of the covariant thunk support. | Anders Carlsson | 2010-02-12 | 1 | -10/+20 |
| | | | | | llvm-svn: 95990 | ||||
| * | Keep track of whether a final overrider needs a return type adjustment. | Anders Carlsson | 2010-02-12 | 1 | -5/+26 |
| | | | | | llvm-svn: 95985 | ||||
| * | Move overrider out into a separate struct. | Anders Carlsson | 2010-02-12 | 1 | -13/+25 |
| | | | | | llvm-svn: 95984 | ||||
| * | Keep track of the address points for all primary bases, and add the ability ↵ | Anders Carlsson | 2010-02-12 | 1 | -11/+48 |
| | | | | | | | to dump multiple address points for a single offset. llvm-svn: 95970 | ||||
| * | Fix a bug causing an assertion when a covariant return type differed from | John McCall | 2010-02-12 | 1 | -9/+12 |
| | | | | | | | an overriden type only by reduced qualification. llvm-svn: 95968 | ||||
| * | More work on vtable layout. We can now layout vtables with primary bases. | Anders Carlsson | 2010-02-12 | 1 | -52/+138 |
| | | | | | llvm-svn: 95965 | ||||
| * | When dumping vtables, dump whether a virtual member function is pure or not. | Anders Carlsson | 2010-02-12 | 1 | -1/+9 |
| | | | | | llvm-svn: 95963 | ||||
| * | More work on the final overriders. | Anders Carlsson | 2010-02-12 | 1 | -10/+130 |
| | | | | | llvm-svn: 95954 | ||||
| * | Stub out the final overriders class. | Anders Carlsson | 2010-02-11 | 1 | -1/+128 |
| | | | | | llvm-svn: 95922 | ||||
| * | Use getAs instead of cast/dyn_cast on types. (I'm sure Doug will appreciate ↵ | Anders Carlsson | 2010-02-11 | 1 | -6/+6 |
| | | | | | | | this). llvm-svn: 95911 | ||||
| * | Move two functions to the top. No functionality change. | Anders Carlsson | 2010-02-11 | 1 | -77/+77 |
| | | | | | llvm-svn: 95908 | ||||
| * | More vtable layout dumper improvements. Handle destructors, dump the ↵ | Anders Carlsson | 2010-02-11 | 1 | -12/+61 |
| | | | | | | | complete function type of the member functions (using PredefinedExpr::ComputeName. llvm-svn: 95887 | ||||
| * | Keep track of, and dump, vtable address points. | Anders Carlsson | 2010-02-11 | 1 | -2/+33 |
| | | | | | llvm-svn: 95874 | ||||
| * | Check in the beginnings of my new vtable layout builder idea. | Anders Carlsson | 2010-02-11 | 1 | -8/+208 |
| | | | | | | | | | Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code. I've also added a very simple new vtable layout test case. llvm-svn: 95865 | ||||
| * | remove a big chunk of #if 0 code. | Chris Lattner | 2010-02-03 | 1 | -58/+0 |
| | | | | | llvm-svn: 95201 | ||||
| * | Move pointer to data member emission to CodeGenModule and use it in ↵ | Anders Carlsson | 2010-02-02 | 1 | -6/+6 |
| | | | | | | | CGExprConstant. Fixes PR5674. llvm-svn: 95063 | ||||
| * | Refine the non-virtual this adjustments for thunks by using the offset | Mike Stump | 2010-01-26 | 1 | -0/+6 |
| | | | | | | | to the declaring class from the nearest virtual base class. WIP. llvm-svn: 94606 | ||||

