Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | PR13684: Emit vtable entries for deleted functions as __cxa_deleted_function. | David Blaikie | 2012-10-16 | 1 | -1/+12 | |
| | | | | | | | | This is consistent/interoperable with GCC 4.7 (& __cxa_deleted_function isn't present in 4.4 - not sure when it got added, but you'll need something with that function available for this to work). llvm-svn: 166069 | |||||
* | Call CGM.SetLLVMFunctionAttributesForDefinition on thunks so that they get | Rafael Espindola | 2012-09-21 | 1 | -0/+2 | |
| | | | | | | | attributes like uwtable. Without uwtable a stack unwinder would be unable to go past the thunks. llvm-svn: 164411 | |||||
* | Update clang for API change. | Benjamin Kramer | 2012-09-19 | 1 | -1/+3 | |
| | | | | llvm-svn: 164218 | |||||
* | Fix thunk emission for covariant virtual functions in cases which require | Eli Friedman | 2012-09-14 | 1 | -7/+16 | |
| | | | | | | both a virtual and a non-virtual offset. PR13832. llvm-svn: 163866 | |||||
* | Fix line endings. | Eli Friedman | 2012-09-14 | 1 | -5/+5 | |
| | | | | llvm-svn: 163865 | |||||
* | Don't crash *or* insert a bogus autorelease when emitting a | John McCall | 2012-07-31 | 1 | -0/+3 | |
| | | | | | | this-adjustment thunk in ARC++. llvm-svn: 161014 | |||||
* | Fixed whitespace issue introduced in r160373. | Joao Matos | 2012-07-17 | 1 | -8/+7 | |
| | | | | llvm-svn: 160388 | |||||
* | [Windows] Abstract pure virtual method calls in the ABI. Fix the Windows ABI ↵ | Joao Matos | 2012-07-17 | 1 | -8/+8 | |
| | | | | | | to forward to the correct function. llvm-svn: 160373 | |||||
* | Distinguish more carefully between free functions and C++ instance methods | John McCall | 2012-07-07 | 1 | -3/+4 | |
| | | | | | | | | in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. llvm-svn: 159894 | |||||
* | Fix a use-after-free in thunk emission. EmitThunk may call RAUW on Init, ↵ | Benjamin Kramer | 2012-03-20 | 1 | -1/+1 | |
| | | | | | | | | invalidating the pointer. Fixes PR12284. The test case only triggered under asan/valgrind, but it's better than nothing. llvm-svn: 153120 | |||||
* | Unify naming of LangOptions variable/get function across the Clang stack ↵ | David Blaikie | 2012-03-11 | 1 | -1/+1 | |
| | | | | | | | | | | (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536 | |||||
* | Whether an argument is required (in contrast with being an | John McCall | 2012-02-17 | 1 | -6/+6 | |
| | | | | | | | | | | | | | | | | | | | | | optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. llvm-svn: 150788 | |||||
* | Basic support for referring to captured variables from lambdas. Some simple ↵ | Eli Friedman | 2012-02-11 | 1 | -0/+1 | |
| | | | | | | examples seem to work. Tests coming up soon. llvm-svn: 150293 | |||||
* | simplify a bunch of code to use the well-known LLVM IR types computed by ↵ | Chris Lattner | 2012-02-07 | 1 | -10/+5 | |
| | | | | | | CodeGenModule. llvm-svn: 149943 | |||||
* | Basic: import SmallString<> into clang namespace | Dylan Noblesmith | 2012-02-05 | 1 | -3/+3 | |
| | | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799 | |||||
* | Basic: import OwningPtr<> into clang namespace | Dylan Noblesmith | 2012-02-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 149798 | |||||
* | Move VTable builder to AST | Peter Collingbourne | 2011-09-26 | 1 | -2380/+0 | |
| | | | | llvm-svn: 140510 | |||||
* | Have CodeGenVTables::GenerateConstructionVTable use VTableLayout | Peter Collingbourne | 2011-09-26 | 1 | -18/+10 | |
| | | | | llvm-svn: 140509 | |||||
* | Move vtable dumper call to VTableBuilder ctor | Peter Collingbourne | 2011-09-26 | 1 | -12/+3 | |
| | | | | llvm-svn: 140508 | |||||
* | Implement VTableContext::createConstructionVTableLayout | Peter Collingbourne | 2011-09-26 | 1 | -10/+23 | |
| | | | | llvm-svn: 140507 | |||||
* | Move all vtable layout data into new VTableLayout class | Peter Collingbourne | 2011-09-26 | 1 | -59/+67 | |
| | | | | llvm-svn: 140506 | |||||
* | Move VTableComponent to header file | Peter Collingbourne | 2011-09-26 | 1 | -167/+0 | |
| | | | | llvm-svn: 140505 | |||||
* | Move vtable component accessors to VTableContext | Peter Collingbourne | 2011-09-26 | 1 | -41/+18 | |
| | | | | llvm-svn: 140504 | |||||
* | Remove CodeGenVTables::ComputeVTableRelatedInformation dependency on CodeGen | Peter Collingbourne | 2011-09-26 | 1 | -23/+19 | |
| | | | | llvm-svn: 140503 | |||||
* | Create a VTableContext class and start moving CodeGenVTables methods to it | Peter Collingbourne | 2011-09-26 | 1 | -16/+19 | |
| | | | | llvm-svn: 140502 | |||||
* | Removing a bunch of dead returns/breaks after llvm_unreachables. | David Blaikie | 2011-09-23 | 1 | -3/+0 | |
| | | | | llvm-svn: 140407 | |||||
* | Switch assert(0/false) llvm_unreachable. | David Blaikie | 2011-09-23 | 1 | -7/+7 | |
| | | | | llvm-svn: 140367 | |||||
* | Extend the ASTContext constructor to delay the initialization of | Douglas Gregor | 2011-09-02 | 1 | -1/+1 | |
| | | | | | | | | builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). llvm-svn: 138985 | |||||
* | Revert bad change. (It may look equivalent, but it isn't.) | Eli Friedman | 2011-08-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 137132 | |||||
* | Cleanup; no functionality change. | Eli Friedman | 2011-08-09 | 1 | -1/+1 | |
| | | | | llvm-svn: 137126 | |||||
* | remove unneeded llvm:: namespace qualifiers on some core types now that ↵ | Chris Lattner | 2011-07-23 | 1 | -13/+13 | |
| | | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852 | |||||
* | de-constify llvm::Type, patch by David Blaikie! | Chris Lattner | 2011-07-18 | 1 | -11/+11 | |
| | | | | llvm-svn: 135370 | |||||
* | Rename CGT::VerifyFuncTypeComplete to isFuncTypeConvertible since | Chris Lattner | 2011-07-10 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | | | it is a predicate, not an action. Change the return type to be a bool, not the incomplete member. Enhace it to detect the recursive compilation case, allowing us to compile Eli's testcase on llvmdev: struct T { struct T (*p)(void); } t; into: %struct.T = type { {}* } @t = common global %struct.T zeroinitializer, align 8 llvm-svn: 134853 | |||||
* | Replace the existing forms of ConstantArray::get() with a single form | Jay Foad | 2011-06-22 | 1 | -1/+1 | |
| | | | | | | that takes an ArrayRef. llvm-svn: 133615 | |||||
* | Fix another regression from the "skip vtable pointer initialization" | Anders Carlsson | 2011-05-16 | 1 | -1/+1 | |
| | | | | | | | optimization. Make sure to require a vtable when trying to get the address of a VTT, otherwise we would never end up emitting the VTT. llvm-svn: 131400 | |||||
* | Add an implementation of thunks for varargs methods. The implementation is ↵ | Eli Friedman | 2011-05-06 | 1 | -41/+140 | |
| | | | | | | a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 . llvm-svn: 130993 | |||||
* | Simplify code a bit by using CallArgList::add. No intended functionality ↵ | Eli Friedman | 2011-05-02 | 1 | -1/+1 | |
| | | | | | | change. llvm-svn: 130699 | |||||
* | Change CollectPrimaryBases to collect the bases in the right order. Fixes ↵ | Anders Carlsson | 2011-04-10 | 1 | -7/+9 | |
| | | | | | | one half of PR9660. llvm-svn: 129252 | |||||
* | Make -fdump-vtable-layouts also dump vtable indices for all virtual member ↵ | Anders Carlsson | 2011-04-10 | 1 | -0/+42 | |
| | | | | | | functions in the class. llvm-svn: 129250 | |||||
* | [Reapply r128776, modified so that it does not break debug info.] | Ken Dyck | 2011-04-07 | 1 | -5/+6 | |
| | | | | | | | Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 129072 | |||||
* | [Reapply r128773. This is not the source of the issues Devang was seeing | Ken Dyck | 2011-04-07 | 1 | -4/+4 | |
| | | | | | | | | | with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. llvm-svn: 129048 | |||||
* | [Reapply r128771. It wasn't the source of the issues Devang saw with debug | Ken Dyck | 2011-04-07 | 1 | -4/+4 | |
| | | | | | | | | | info.] Use CharUnits for the offset type in the ClassNamesAndOffsets map in dumpLayout(). No change in functionality intended. llvm-svn: 129046 | |||||
* | Reapply r128770. It's not the cause of the issues Devang saw with debug info. | Ken Dyck | 2011-04-07 | 1 | -8/+11 | |
| | | | | | | | Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No change in functionality intended. llvm-svn: 129043 | |||||
* | Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info. | Devang Patel | 2011-04-04 | 1 | -18/+14 | |
| | | | | llvm-svn: 128842 | |||||
* | Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to | Ken Dyck | 2011-04-02 | 1 | -5/+6 | |
| | | | | | | CharUnits. No change in functionality intended. llvm-svn: 128776 | |||||
* | Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No | Ken Dyck | 2011-04-02 | 1 | -4/+4 | |
| | | | | | | change in functionality intended. llvm-svn: 128773 | |||||
* | Use CharUnits for the offset type in the ClassNamesAndOffsets map in | Ken Dyck | 2011-04-02 | 1 | -4/+4 | |
| | | | | | | dumpLayout(). No change in functionality intended. llvm-svn: 128771 | |||||
* | Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No | Ken Dyck | 2011-04-02 | 1 | -8/+11 | |
| | | | | | | change in functionality intended. llvm-svn: 128770 | |||||
* | Convert BaseOffset::NonVirtualOffset to CharUnits. No change in | Ken Dyck | 2011-04-02 | 1 | -12/+12 | |
| | | | | | | functionality intended. llvm-svn: 128756 | |||||
* | Convert offset parameters and return values of VTableComponent methods to | Ken Dyck | 2011-04-02 | 1 | -20/+29 | |
| | | | | | | CharUnits. No change in functionality intended. llvm-svn: 128754 |