Home
last modified time | relevance | path

Searched refs:BaseSubobject (Results 1 – 15 of 15) sorted by relevance

/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DBaseSubobject.h30 class BaseSubobject {
38 BaseSubobject() = default;
39 BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset) in BaseSubobject() function
48 friend bool operator==(const BaseSubobject &LHS, const BaseSubobject &RHS) {
57 template<> struct DenseMapInfo<clang::BaseSubobject> {
58 static clang::BaseSubobject getEmptyKey() {
59 return clang::BaseSubobject(
64 static clang::BaseSubobject getTombstoneKey() {
65 return clang::BaseSubobject(
70 static unsigned getHashValue(const clang::BaseSubobject &Base) {
[all …]
H A DVTTBuilder.h40 VTTVTable(BaseSubobject Base, bool BaseIsVirtual) in VTTVTable()
56 BaseSubobject getBaseSubobject() const { in getBaseSubobject()
57 return BaseSubobject(getBase(), getBaseOffset()); in getBaseSubobject()
63 BaseSubobject VTableBase;
66 VTTComponent(uint64_t VTableIndex, BaseSubobject VTableBase) in VTTComponent()
92 using AddressPointsMapTy = llvm::DenseMap<BaseSubobject, uint64_t>;
95 llvm::DenseMap<BaseSubobject, uint64_t> SubVTTIndices;
99 llvm::DenseMap<BaseSubobject, uint64_t> SecondaryVirtualPointerIndices;
105 void AddVTablePointer(BaseSubobject Base, uint64_t VTableIndex,
109 void LayoutSecondaryVTTs(BaseSubobject Base);
[all …]
H A DVTableBuilder.h239 typedef llvm::DenseMap<BaseSubobject, AddressPointLocation>
280 AddressPointLocation getAddressPoint(BaseSubobject Base) const { in getAddressPoint()
/freebsd/contrib/llvm-project/clang/lib/AST/
H A DVTTBuilder.cpp38 LayoutVTT(BaseSubobject(MostDerivedClass, CharUnits::Zero()), in VTTBuilder()
42 void VTTBuilder::AddVTablePointer(BaseSubobject Base, uint64_t VTableIndex, in AddVTablePointer()
59 void VTTBuilder::LayoutSecondaryVTTs(BaseSubobject Base) { in LayoutSecondaryVTTs()
75 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/false); in LayoutSecondaryVTTs()
80 VTTBuilder::LayoutSecondaryVirtualPointers(BaseSubobject Base, in LayoutSecondaryVirtualPointers()
135 AddVTablePointer(BaseSubobject(BaseDecl, BaseOffset), VTableIndex, in LayoutSecondaryVirtualPointers()
140 LayoutSecondaryVirtualPointers(BaseSubobject(BaseDecl, BaseOffset), in LayoutSecondaryVirtualPointers()
147 VTTBuilder::LayoutSecondaryVirtualPointers(BaseSubobject Base, in LayoutSecondaryVirtualPointers()
169 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/true); in LayoutVirtualVTTs()
179 void VTTBuilder::LayoutVTT(BaseSubobject Base, bool BaseIsVirtual) { in LayoutVTT()
H A DVTableBuilder.cpp121 void ComputeBaseOffsets(BaseSubobject Base, bool IsVirtual,
131 void dump(raw_ostream &Out, BaseSubobject Base,
152 dump(llvm::errs(), BaseSubobject(MostDerivedClass, CharUnits::Zero()), in dump()
170 ComputeBaseOffsets(BaseSubobject(MostDerivedClass, CharUnits::Zero()), in FinalOverriders()
325 FinalOverriders::ComputeBaseOffsets(BaseSubobject Base, bool IsVirtual, in ComputeBaseOffsets()
371 ComputeBaseOffsets(BaseSubobject(BaseDecl, BaseOffset), in ComputeBaseOffsets()
378 void FinalOverriders::dump(raw_ostream &Out, BaseSubobject Base, in dump()
402 dump(Out, BaseSubobject(BaseDecl, BaseOffset), VisitedVirtualBases); in dump()
574 void AddVCallAndVBaseOffsets(BaseSubobject Base, bool BaseIsVirtual,
578 void AddVCallOffsets(BaseSubobject Base, CharUnits VBaseOffset);
[all …]
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGVTables.h40 typedef std::pair<const CXXRecordDecl *, BaseSubobject> BaseSubobjectPairTy;
105 uint64_t getSubVTTIndex(const CXXRecordDecl *RD, BaseSubobject Base);
110 BaseSubobject Base);
115 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base,
H A DCGVTT.cpp143 BaseSubobject Base) { in getSubVTTIndex()
152 for (llvm::DenseMap<BaseSubobject, uint64_t>::const_iterator in getSubVTTIndex()
170 BaseSubobject Base) { in getSecondaryVirtualPointerIndex()
180 for (llvm::DenseMap<BaseSubobject, uint64_t>::const_iterator I = in getSecondaryVirtualPointerIndex()
183 std::pair<const CXXRecordDecl *, BaseSubobject> Pair = in getSecondaryVirtualPointerIndex()
H A DCGCXXABI.h463 getVTableAddressPoint(BaseSubobject Base,
470 BaseSubobject Base,
H A DCGCXX.cpp259 VTLayout.getAddressPoint(BaseSubobject(RD, CharUnits::Zero())); in BuildAppleKextVirtualCall()
H A DItaniumCXXABI.cpp300 getVTableAddressPoint(BaseSubobject Base,
305 BaseSubobject Base, const CXXRecordDecl *NearestVBase) override;
309 BaseSubobject Base, const CXXRecordDecl *NearestVBase);
1738 VPtr, getVTableAddressPoint(BaseSubobject(SrcDecl, *Offset), DestDecl)); in emitExactDynamicCast()
2069 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base, in getVTableAddressPointInStructor()
2081 ItaniumCXXABI::getVTableAddressPoint(BaseSubobject Base, in getVTableAddressPoint()
2111 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base, in getVTableAddressPointInStructorWithVTT()
H A DCGClass.cpp492 CGM.getVTables().getSubVTTIndex(RD, BaseSubobject(Base, BaseOffset)); in GetVTTParameter()
2609 getVTablePointers(BaseSubobject(VTableClass, CharUnits::Zero()), in getVTablePointers()
2617 void CodeGenFunction::getVTablePointers(BaseSubobject Base, in getVTablePointers()
2668 BaseSubobject(BaseDecl, BaseOffset), in getVTablePointers()
H A DMicrosoftCXXABI.cpp323 getVTableAddressPoint(BaseSubobject Base,
328 BaseSubobject Base, const CXXRecordDecl *NearestVBase) override;
1792 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base, in getVTableAddressPointInStructor()
1810 MicrosoftCXXABI::getVTableAddressPoint(BaseSubobject Base, in getVTableAddressPoint()
H A DCGVTables.cpp920 const CXXRecordDecl *RD, const BaseSubobject &Base, bool BaseIsVirtual, in GenerateConstructionVTable()
H A DCodeGenFunction.h2434 BaseSubobject Base;
2448 void getVTablePointers(BaseSubobject Base, const CXXRecordDecl *NearestVBase,
H A DCGExprConstant.cpp815 CGM.getCXXABI().getVTableAddressPoint(BaseSubobject(CD, Offset), in Build()