| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | Attempt to fix the 32-bit test failures. | Anders Carlsson | 2010-02-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 96595 | ||||
| * | Fix another bug and add another class. | Anders Carlsson | 2010-02-18 | 1 | -2/+10 |
| | | | | | llvm-svn: 96590 | ||||
| * | More work on vcall offsets. | Anders Carlsson | 2010-02-18 | 1 | -4/+61 |
| | | | | | llvm-svn: 96587 | ||||
| * | Start stubbing out vcall offset handling. | Anders Carlsson | 2010-02-18 | 1 | -10/+60 |
| | | | | | llvm-svn: 96585 | ||||
| * | Store the base offset of the final overrider in the OverriderInfo struct, to ↵ | Anders Carlsson | 2010-02-18 | 1 | -1/+6 |
| | | | | | | | be used for vcall offsets. llvm-svn: 96582 | ||||
| * | Remove some dead code. | Anders Carlsson | 2010-02-18 | 1 | -13/+0 |
| | | | | | llvm-svn: 96581 | ||||
| * | Extract out function-body code generation into its own method. No functionality | John McCall | 2010-02-18 | 3 | -111/+98 |
| | | | | | | | change. llvm-svn: 96564 | ||||
| * | silence warning in a cleaner way | Chris Lattner | 2010-02-17 | 1 | -2/+1 |
| | | | | | llvm-svn: 96520 | ||||
| * | Patch to remove arbitrary imporation of 'self' into | Fariborz Jahanian | 2010-02-17 | 1 | -13/+0 |
| | | | | | | | | | a block without it being used. This causes over release of objects in certain runtime-senitive apps. (fixes radar 7581175). llvm-svn: 96501 | ||||
| * | Did not intend to check this in. | Fariborz Jahanian | 2010-02-17 | 1 | -2/+0 |
| | | | | | llvm-svn: 96486 | ||||
| * | Use proper lexcial context for newly added ivars. | Fariborz Jahanian | 2010-02-17 | 1 | -0/+2 |
| | | | | | llvm-svn: 96484 | ||||
| * | Make FinalOverriders handle virtual bases correctly. Unfortunately this ↵ | Anders Carlsson | 2010-02-17 | 1 | -3/+33 |
| | | | | | | | can't be tested just yet. llvm-svn: 96481 | ||||
| * | 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 | ||||
| * | Emit complete constructors and destructors as aliases to base constructors | John McCall | 2010-02-17 | 3 | -26/+142 |
| | | | | | | | | | and destructors when the two entities are semantically identical, i.e. when the class has no virtual base classes. We only do this for linkage types for which aliases are supported, i.e. internal and external, i.e. not linkonce. llvm-svn: 96451 | ||||
| * | Pass through whether a base is virtual or not. | Anders Carlsson | 2010-02-17 | 1 | -17/+26 |
| | | | | | llvm-svn: 96449 | ||||
| * | implement EmitVAArg. pretty much the same way other targets do. | Sanjiv Gupta | 2010-02-17 | 1 | -1/+21 |
| | | | | | llvm-svn: 96446 | ||||
| * | 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 | ||||
| * | IRgen optimization: cache the value of 'this' and 'vtt' instead of | John McCall | 2010-02-16 | 4 | -25/+19 |
| | | | | | | | | | repeatedly reloading from an alloca. We still need to create the alloca for debug info purposes (although we currently create it in all cases because of some abstraction boundaries that're hard to break down). llvm-svn: 96403 | ||||
| * | Distinguish two lexical blocks at the same level. | Devang Patel | 2010-02-16 | 1 | -1/+4 |
| | | | | | llvm-svn: 96397 | ||||
| * | IRgen: Switch 'retval' to use CreateIRTemp. | Daniel Dunbar | 2010-02-16 | 1 | -2/+2 |
| | | | | | llvm-svn: 96376 | ||||
| * | IRgen: Add CreateIRTemp, which creates a temporary alloca but with type ↵ | Daniel Dunbar | 2010-02-16 | 2 | -1/+18 |
| | | | | | | | converted "not-for-memory". Dunno a better name. llvm-svn: 96374 | ||||
| * | IRgen: Switch EmitCompoundLiteralLValue to use CreateMemTemp. | Daniel Dunbar | 2010-02-16 | 1 | -3/+1 |
| | | | | | llvm-svn: 96373 | ||||
| * | 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 | ||||

