| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Move ComputeThisAdjustmentBaseOffset to VtableBuilder. | Anders Carlsson | 2010-02-27 | 1 | -61/+61 |
| | | | | | llvm-svn: 97340 | ||||
| * | Make sure to insert the primary base in the set :) | Anders Carlsson | 2010-02-27 | 1 | -0/+3 |
| | | | | | llvm-svn: 97339 | ||||
| * | Use the real base offset when calculating vbase offsets. | Anders Carlsson | 2010-02-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 97338 | ||||
| * | Figured out why the test was failing, this will hopefully fix it. | Anders Carlsson | 2010-02-27 | 1 | -3/+9 |
| | | | | | llvm-svn: 97336 | ||||
| * | Don't add this adjustments for pure virtual member functions. | Anders Carlsson | 2010-02-27 | 1 | -2/+6 |
| | | | | | llvm-svn: 97334 | ||||
| * | We want to store method info for unused functions. | Anders Carlsson | 2010-02-27 | 1 | -10/+20 |
| | | | | | llvm-svn: 97333 | ||||
| * | Finish up the changes to this adjustments. | Anders Carlsson | 2010-02-27 | 1 | -37/+102 |
| | | | | | llvm-svn: 97328 | ||||
| * | Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵ | Anders Carlsson | 2010-02-27 | 1 | -13/+36 |
| | | | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326 | ||||
| * | Fix another vtable layout bug; we weren't looking hard enough for overriden ↵ | Anders Carlsson | 2010-02-27 | 1 | -8/+40 |
| | | | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306 | ||||
| * | Handle vcall offset sharing between destructors. | Anders Carlsson | 2010-02-27 | 1 | -3/+7 |
| | | | | | llvm-svn: 97304 | ||||
| * | Fix a bug where we were generating an unnecessary vtable for a virtual base ↵ | Anders Carlsson | 2010-02-27 | 1 | -9/+37 |
| | | | | | | | that's already a primary virtual base. llvm-svn: 97303 | ||||
| * | Sundry fixes to the new vtable builder. | John McCall | 2010-02-26 | 1 | -13/+33 |
| | | | | | llvm-svn: 97258 | ||||
| * | Don't generate method metadata for @dynamic properties. Fixes PR6354. | David Chisnall | 2010-02-26 | 1 | -7/+12 |
| | | | | | llvm-svn: 97199 | ||||
| * | Use the power of types to track down another canonicalization bug in | John McCall | 2010-02-26 | 6 | -63/+82 |
| | | | | | | | the ABI-computation interface. Fixes <rdar://problem/7691046>. llvm-svn: 97197 | ||||
| * | Improve vcall offset handling. | Anders Carlsson | 2010-02-25 | 1 | -12/+26 |
| | | | | | llvm-svn: 97174 | ||||
| * | Fux a bug where we were trying to add overriders for non-virtual bases of ↵ | Anders Carlsson | 2010-02-25 | 1 | -3/+3 |
| | | | | | | | virtual bases more than once. llvm-svn: 97173 | ||||
| * | Targets (like pic16) may have mangled the name of global variables, | Sanjiv Gupta | 2010-02-25 | 1 | -1/+1 |
| | | | | | | | so get the name from Var rather than the original decl. llvm-svn: 97114 | ||||
| * | Remove dead code. | Anders Carlsson | 2010-02-25 | 1 | -176/+0 |
| | | | | | llvm-svn: 97109 | ||||
| * | Move the vcall and vbase offset layout code out into its own class. | Anders Carlsson | 2010-02-25 | 1 | -8/+224 |
| | | | | | llvm-svn: 97107 | ||||
| * | Get rid of 'this' adjustments from the FinalOverriders class since they can ↵ | Anders Carlsson | 2010-02-24 | 1 | -34/+0 |
| | | | | | | | be different for the same overrider in different parts of the vtable. llvm-svn: 97068 | ||||
| * | Improve this adjustment pointer calculation. | Anders Carlsson | 2010-02-24 | 1 | -5/+16 |
| | | | | | llvm-svn: 97067 | ||||
| * | Make ComputeThisAdjustmentBaseOffset public for now. | Anders Carlsson | 2010-02-24 | 1 | -7/+8 |
| | | | | | llvm-svn: 97066 | ||||
| * | Fix an iterator-invalidation bug that was causing selfhost errors | John McCall | 2010-02-24 | 1 | -10/+6 |
| | | | | | | | | on non-darwin platforms. Fixes PR6411. Test case doesn't reduce, unfortunately. llvm-svn: 97055 | ||||
| * | Generate correct vcall offsets when we have a primary virtual base that is ↵ | Anders Carlsson | 2010-02-24 | 1 | -7/+29 |
| | | | | | | | not a primary base in the complete class hierarchy. llvm-svn: 97039 | ||||
| * | Canonicalize parameter and return types before computing ABI info. Eliminates | John McCall | 2010-02-24 | 4 | -71/+78 |
| | | | | | | | | | | | | a common source of oddities and, in theory, removes some redundant ABI computations. Also fixes a miscompile I introduced yesterday by refactoring some code and causing a slightly different code path to be taken that didn't perform *parameter* type canonicalization, just normal type canonicalization; this in turn caused a bit of ABI code to misfire because it was looking for 'double' or 'float' but received 'const float'. llvm-svn: 97030 | ||||
| * | Emit debug info for VectorType. | Devang Patel | 2010-02-23 | 2 | -2/+26 |
| | | | | | llvm-svn: 96999 | ||||
| * | Add support for the weakref attribute. We still produce "alias weak" as ↵ | Rafael Espindola | 2010-02-23 | 1 | -0/+1 |
| | | | | | | | llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992 | ||||
| * | Unconditionally support block introspection data in a new field at the end | Blaine Garst | 2010-02-23 | 3 | -55/+46 |
| | | | | | | | | | | | | | | | | of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989 | ||||
| * | Make previous fix handle a few more edge cases. | Eli Friedman | 2010-02-23 | 1 | -3/+3 |
| | | | | | llvm-svn: 96962 | ||||
| * | PR6400: Handle an extreme edge case in mangling correctly. | Eli Friedman | 2010-02-23 | 1 | -0/+3 |
| | | | | | llvm-svn: 96961 | ||||
| * | PR6386: Fix a recent regression in IRGen of cast-to-union constructs. | Eli Friedman | 2010-02-23 | 1 | -1/+1 |
| | | | | | llvm-svn: 96958 | ||||
| * | Implement IsOverriderUsed. This can't be tested yet due to some other bugs :) | Anders Carlsson | 2010-02-23 | 1 | -1/+46 |
| | | | | | llvm-svn: 96897 | ||||
| * | Stub out IsOverriderUsed. | Anders Carlsson | 2010-02-23 | 1 | -4/+50 |
| | | | | | llvm-svn: 96883 | ||||
| * | More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵ | Anders Carlsson | 2010-02-23 | 1 | -10/+43 |
| | | | | | | | question is a primary virtual base of some other base. llvm-svn: 96881 | ||||
| * | Always emit vcall offset for the primary base, not only if it's virtual. ↵ | Anders Carlsson | 2010-02-23 | 1 | -5/+1 |
| | | | | | | | Remove a debug printf, and add the test case that now passes. llvm-svn: 96880 | ||||
| * | Simplify the vcall offset calculation and make it give the correct answers ↵ | Anders Carlsson | 2010-02-23 | 1 | -26/+17 |
| | | | | | | | :) My test case now has the right values but in the wrong order. llvm-svn: 96877 | ||||
| * | More work on vcall offsets. We now emit the right number of vcall offsets in ↵ | Anders Carlsson | 2010-02-23 | 1 | -5/+1 |
| | | | | | | | my local test case, but not the right values. llvm-svn: 96874 | ||||
| * | Move BaseOffset out of the FinalOverriders class. | Anders Carlsson | 2010-02-23 | 1 | -45/+44 |
| | | | | | llvm-svn: 96853 | ||||
| * | Perform two more constructor/destructor code-size optimizations: | John McCall | 2010-02-23 | 7 | -47/+250 |
| | | | | | | | | | | | | | | | | | 1) emit base destructors as aliases to their unique base class destructors under some careful conditions. This is enabled for the same targets that can support complete-to-base aliases, i.e. not darwin. 2) Emit non-variadic complete constructors for classes with no virtual bases as calls to the base constructor. This is enabled on all targets and in theory can trigger in situations that the alias optimization can't (mostly involving virtual bases, mostly not yet supported). These are bundled together because I didn't think it worthwhile to split them, not because they really need to be. llvm-svn: 96842 | ||||
| * | Change the name of the vtable-debugging environment variable to | Douglas Gregor | 2010-02-22 | 1 | -1/+1 |
| | | | | | | | CLANG_VTABLE_DEBUG. llvm-svn: 96785 | ||||
| * | Don't use NamedDecl::getNameAsCString() when dealing with C++ methods, | Douglas Gregor | 2010-02-22 | 1 | -13/+13 |
| | | | | | | | since they may not have normal identifiers for names. Fixes PR6369. llvm-svn: 96784 | ||||
| * | Eliminate the default arguments to ASTContext::getFunctionType(), | Douglas Gregor | 2010-02-21 | 1 | -1/+4 |
| | | | | | | | | | fixing up a few callers that thought they were propagating NoReturn information but were in fact saying something about exception specifications. llvm-svn: 96766 | ||||
| * | Add the CK_UnusedFunctionPointer component kind for unused function pointers. | Anders Carlsson | 2010-02-19 | 1 | -3/+34 |
| | | | | | llvm-svn: 96695 | ||||
| * | More refactoring around constructor/destructor code generation. | John McCall | 2010-02-19 | 4 | -182/+178 |
| | | | | | | | | | | | | | Fix some bugs with function-try-blocks and simplify normal try-block code generation. This implementation excludes a deleting destructor's call to operator delete() from the function-try-block, which I believe is correct but which I can't find straightforward support for at a moment's glance. llvm-svn: 96670 | ||||
| * | Dump this-adjustments for destructors as well. | Anders Carlsson | 2010-02-19 | 1 | -10/+27 |
| | | | | | llvm-svn: 96660 | ||||
| * | Re-introduce the ctor/dtor alias optimization, this time hidden behind a | John McCall | 2010-02-19 | 3 | -23/+143 |
| | | | | | | | command-line option which defaults off. llvm-svn: 96649 | ||||
| * | Patch removes IVars list from ObjCInterfaceDecl and | Fariborz Jahanian | 2010-02-19 | 1 | -1/+1 |
| | | | | | | | instead relies on their DeclContext for iteration, etc. llvm-svn: 96638 | ||||
| * | remove unused function & enumerations | Blaine Garst | 2010-02-19 | 2 | -39/+2 |
| | | | | | llvm-svn: 96635 | ||||
| * | Revert the ctor/dtor alias optimization for now; the buildbots can detect | John McCall | 2010-02-18 | 3 | -142/+26 |
| | | | | | | | some failure here that I can't. llvm-svn: 96612 | ||||
| * | Make deleting and complete dtor variants defer to other dtor variants by | John McCall | 2010-02-18 | 2 | -48/+93 |
| | | | | | | | | | calling them as subroutines. This triggers whenever the alias optimization doesn't, i.e. when the dtor has linkonce linkage or there are virtual bases or it's the deleting dtor. llvm-svn: 96605 | ||||

