aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGVTables.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-07-23remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner1-13/+13
LLVM.h imports them into the clang namespace. llvm-svn: 135852
2011-07-18de-constify llvm::Type, patch by David Blaikie!Chris Lattner1-11/+11
llvm-svn: 135370
2011-07-10Rename CGT::VerifyFuncTypeComplete to isFuncTypeConvertible sinceChris Lattner1-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
2011-06-22Replace the existing forms of ConstantArray::get() with a single formJay Foad1-1/+1
that takes an ArrayRef. llvm-svn: 133615
2011-05-16Fix another regression from the "skip vtable pointer initialization"Anders Carlsson1-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
2011-05-06Add an implementation of thunks for varargs methods. The implementation is ↵Eli Friedman1-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
2011-05-02Simplify code a bit by using CallArgList::add. No intended functionality ↵Eli Friedman1-1/+1
change. llvm-svn: 130699
2011-04-10Change CollectPrimaryBases to collect the bases in the right order. Fixes ↵Anders Carlsson1-7/+9
one half of PR9660. llvm-svn: 129252
2011-04-10Make -fdump-vtable-layouts also dump vtable indices for all virtual member ↵Anders Carlsson1-0/+42
functions in the class. llvm-svn: 129250
2011-04-07[Reapply r128776, modified so that it does not break debug info.]Ken Dyck1-5/+6
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 129072
2011-04-07[Reapply r128773. This is not the source of the issues Devang was seeingKen Dyck1-4/+4
with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. llvm-svn: 129048
2011-04-07[Reapply r128771. It wasn't the source of the issues Devang saw with debugKen Dyck1-4/+4
info.] Use CharUnits for the offset type in the ClassNamesAndOffsets map in dumpLayout(). No change in functionality intended. llvm-svn: 129046
2011-04-07Reapply r128770. It's not the cause of the issues Devang saw with debug info. Ken Dyck1-8/+11
Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No change in functionality intended. llvm-svn: 129043
2011-04-04Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info.Devang Patel1-18/+14
llvm-svn: 128842
2011-04-02Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() toKen Dyck1-5/+6
CharUnits. No change in functionality intended. llvm-svn: 128776
2011-04-02Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. NoKen Dyck1-4/+4
change in functionality intended. llvm-svn: 128773
2011-04-02Use CharUnits for the offset type in the ClassNamesAndOffsets map inKen Dyck1-4/+4
dumpLayout(). No change in functionality intended. llvm-svn: 128771
2011-04-02Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. NoKen Dyck1-8/+11
change in functionality intended. llvm-svn: 128770
2011-04-02Convert BaseOffset::NonVirtualOffset to CharUnits. No change inKen Dyck1-12/+12
functionality intended. llvm-svn: 128756
2011-04-02Convert offset parameters and return values of VTableComponent methods toKen Dyck1-20/+29
CharUnits. No change in functionality intended. llvm-svn: 128754
2011-04-02Convert the offsets in VCallOffsetMap to CharUnits. No change inKen Dyck1-8/+9
functionality intended. llvm-svn: 128753
2011-04-02Convert offset parameters of VTableBuilder::IsOverriderUsed() to CharUnits.Ken Dyck1-7/+7
No change in functionality intended. llvm-svn: 128752
2011-03-31Convert the return value ofKen Dyck1-11/+11
VCallAndVBaseOffsetBuilder::getCurrentOffsetOffset() to CharUnits. No change in functionality intended. llvm-svn: 128603
2011-03-31Convert the OffsetInLayoutClass parameter ofKen Dyck1-9/+10
VCallAndVBaseOffsetBuilder::AddVBaseOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128600
2011-03-31Convert the OffsetInLayoutClass of the VCallAndVBaseOffsetBuilderKen Dyck1-6/+6
constructor to CharUnits. No change in functionality intended. llvm-svn: 128598
2011-03-31Convert the RealBaseOffset parameter ofKen Dyck1-5/+6
VCallAndVBaseOffsetBuilder::AddVCallAndVBaseOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128596
2011-03-30Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad1-2/+1
PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128538
2011-03-30Convert the offset parameter ofKen Dyck1-4/+4
VCallAndVBaseOffsetBuilder::AddVCallOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128531
2011-03-30Convert local offset variable to CharUnits in AddVCallOffsets. No change inKen Dyck1-4/+4
functionality intended. llvm-svn: 128522
2011-03-30Convert a local offset variable to CharUnits. No change in functionalityKen Dyck1-3/+3
intended. llvm-svn: 128521
2011-03-30Convert the OffsetInLayoutClass parameter of DeterminePrimaryVirtualBases()Ken Dyck1-9/+9
to CharUnits. No change in functionality intended. llvm-svn: 128520
2011-03-30Convert the OffsetInLayoutClass parameter of LayoutSecondaryVTables toKen Dyck1-8/+6
CharUnits. No change in functionality intended. llvm-svn: 128516
2011-03-27Convert offset parameter in LayoutPrimaryAndSecondaryVTables() to CharUnits.Ken Dyck1-16/+16
No change in functionality intended. llvm-svn: 128393
2011-03-27Convert VTableBuilder::MostDerivedClassOffset to CharUnits. No change inKen Dyck1-16/+15
functionality intended. llvm-svn: 128392
2011-03-27Convert FinalOverriders::MostDerivedClassOffset to CharUnits. No change inKen Dyck1-5/+8
functionality intended. llvm-svn: 128391
2011-03-27Remove a fixed FIXME comment (the base offset has already been converted toKen Dyck1-1/+0
CharUnits). llvm-svn: 128386
2011-03-27Convert the offset parameters of AddMethods() to CharUnits. No change inKen Dyck1-17/+15
functionality intended. llvm-svn: 128385
2011-03-27Convert the BaseOffsetInLayoutClass parameter of ComputeThisAdjustment() toKen Dyck1-9/+8
CharUnits. No change in functionality intended. llvm-svn: 128384
2011-03-27Convert offset members in MethodInfo to CharUnits. No change inKen Dyck1-14/+17
functionality intended. llvm-svn: 128383
2011-03-27We were emitting construction v-tables with internal linkage all the time.John McCall1-2/+6
Emit them instead with the linkage of the VTT. I'm actually really ambivalent about this; it's what GCC does, but outside of improving code size (if the linkage is coalescing), I'm not sure it's at all relevant. Construction vtables are naturally referenced only by the VTT, which is itself only referenced by complete-object constructors and destructors; giving the construction vtables possibly-external linkage is important if you have an optimization that drills through the VTT to a reference to a particular construction vtable which it cannot just emit itself. llvm-svn: 128374
2011-03-26On Mac OS X, the presence of an 'availability' attribute for thatDouglas Gregor1-1/+1
platform implies default visibility. To achieve these, refactor our lookup of explicit visibility so that we search for both an explicit VisibilityAttr and an appropriate AvailabilityAttr, favoring the VisibilityAttr if it is present. llvm-svn: 128336
2011-03-26Convert the OffsetInLayoutClass parameter ofKen Dyck1-8/+8
FinalOverriders::ComputeBaseOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128323
2011-03-26Convert FinalOverriders::Offset to CharUnits. No change in functionalityKen Dyck1-8/+8
intended. llvm-svn: 128321
2011-03-26Convert offset in MethodBaseOffsetPairTy to CharUnits. No change inKen Dyck1-9/+8
functionality intended. llvm-svn: 128318
2011-03-26Convert the offsets in SubobjectOffsetMapTy to CharUnits. No change inKen Dyck1-8/+8
functionality intended. llvm-svn: 128317
2011-03-26Convert several local variables to CharUnits. No change in functionalityKen Dyck1-45/+39
intended. llvm-svn: 128315
2011-03-24Convert the BaseOffset member of BaseSubobject to CharUnits from bits. NoKen Dyck1-51/+74
change in functionality intended. llvm-svn: 128190
2011-03-11Use a slightly more semantic interface for emitting call arguments.John McCall1-5/+2
llvm-svn: 127494
2011-03-09Tame this assert, hopefully fixing self-host.John McCall1-1/+20
llvm-svn: 127319
2011-03-09Use the "undergoes default argument promotion" bit on parameters toJohn McCall1-8/+15
simplify the logic of initializing function parameters so that we don't need both a variable declaration and a type in FunctionArgList. This also means that we need to propagate the CGFunctionInfo down in a lot of places rather than recalculating it from the FAL. There's more we can do to eliminate redundancy here, and I've left FIXMEs behind to do it. llvm-svn: 127314