Lines Matching refs:CharUnits
48 CharUnits NonVirtualOffset;
51 NonVirtualOffset(CharUnits::Zero()) { } in BaseOffset()
53 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset()
74 CharUnits Offset;
77 Offset(CharUnits::Zero()) { } in OverriderInfo()
88 const CharUnits MostDerivedClassOffset;
102 typedef std::pair<const CXXMethodDecl *, CharUnits> MethodBaseOffsetPairTy;
115 CharUnits> SubobjectOffsetMapTy;
122 CharUnits OffsetInLayoutClass,
136 CharUnits MostDerivedClassOffset,
142 CharUnits BaseOffset) const { in getOverrider()
152 dump(llvm::errs(), BaseSubobject(MostDerivedClass, CharUnits::Zero()), in dump()
159 CharUnits MostDerivedClassOffset, in FinalOverriders()
170 ComputeBaseOffsets(BaseSubobject(MostDerivedClass, CharUnits::Zero()), in FinalOverriders()
190 CharUnits BaseOffset = SubobjectOffsets[std::make_pair(MD->getParent(), in FinalOverriders()
200 CharUnits OverriderOffset = in FinalOverriders()
222 CharUnits NonVirtualOffset = CharUnits::Zero(); in ComputeBaseOffset()
326 CharUnits OffsetInLayoutClass, in ComputeBaseOffsets()
350 CharUnits BaseOffset; in ComputeBaseOffsets()
351 CharUnits BaseOffsetInLayoutClass; in ComputeBaseOffsets()
365 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl); in ComputeBaseOffsets()
390 CharUnits BaseOffset; in dump()
445 typedef std::pair<const CXXMethodDecl *, CharUnits> MethodAndOffsetPairTy;
460 bool AddVCallOffset(const CXXMethodDecl *MD, CharUnits OffsetOffset);
464 CharUnits getVCallOffsetOffset(const CXXMethodDecl *MD);
510 CharUnits OffsetOffset) { in AddVCallOffset()
522 CharUnits VCallOffsetMap::getVCallOffsetOffset(const CXXMethodDecl *MD) { in getVCallOffsetOffset()
535 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits>
573 CharUnits RealBaseOffset);
576 void AddVCallOffsets(BaseSubobject Base, CharUnits VBaseOffset);
580 CharUnits OffsetInLayoutClass);
584 CharUnits getCurrentOffsetOffset() const;
591 CharUnits OffsetInLayoutClass) in VCallAndVBaseOffsetBuilder()
613 CharUnits RealBaseOffset) { in AddVCallAndVBaseOffsets()
628 CharUnits PrimaryBaseOffset; in AddVCallAndVBaseOffsets()
659 CharUnits VCallAndVBaseOffsetBuilder::getCurrentOffsetOffset() const { in getCurrentOffsetOffset()
666 CharUnits PointerWidth = in getCurrentOffsetOffset()
668 CharUnits OffsetOffset = PointerWidth * OffsetIndex; in getCurrentOffsetOffset()
673 CharUnits VBaseOffset) { in AddVCallOffsets()
697 CharUnits OffsetOffset = getCurrentOffsetOffset(); in AddVCallOffsets()
704 CharUnits Offset = CharUnits::Zero(); in AddVCallOffsets()
730 CharUnits BaseOffset = Base.getBaseOffset() + in AddVCallOffsets()
740 CharUnits OffsetInLayoutClass) { in AddVBaseOffsets()
750 CharUnits Offset = in AddVBaseOffsets()
757 CharUnits VBaseOffsetOffset = getCurrentOffsetOffset(); in AddVBaseOffsets()
778 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits>
796 const CharUnits MostDerivedClassOffset;
831 const CharUnits BaseOffset;
835 const CharUnits BaseOffsetInLayoutClass;
841 MethodInfo(CharUnits BaseOffset, CharUnits BaseOffsetInLayoutClass, in MethodInfo()
848 : BaseOffset(CharUnits::Zero()), in MethodInfo()
849 BaseOffsetInLayoutClass(CharUnits::Zero()), in MethodInfo()
903 CharUnits BaseOffsetInLayoutClass,
930 CharUnits BaseOffsetInLayoutClass,
932 CharUnits FirstBaseOffsetInLayoutClass) const;
937 void AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass,
939 CharUnits FirstBaseOffsetInLayoutClass,
957 CharUnits OffsetInLayoutClass);
965 CharUnits OffsetInLayoutClass);
970 CharUnits OffsetInLayoutClass,
987 CharUnits MostDerivedClassOffset, in ItaniumVTableBuilder()
1227 CharUnits OffsetToBaseSubobject = Offset.NonVirtualOffset; in ComputeThisAdjustmentBaseOffset()
1258 const CXXMethodDecl *MD, CharUnits BaseOffsetInLayoutClass, in ComputeThisAdjustment()
1288 CharUnits::Zero()), in ComputeThisAdjustment()
1291 CharUnits::Zero()); in ComputeThisAdjustment()
1355 const CXXMethodDecl *Overrider, CharUnits BaseOffsetInLayoutClass, in IsOverriderUsed()
1357 CharUnits FirstBaseOffsetInLayoutClass) const { in IsOverriderUsed()
1441 BaseSubobject Base, CharUnits BaseOffsetInLayoutClass, in AddMethods()
1443 CharUnits FirstBaseOffsetInLayoutClass, in AddMethods()
1458 CharUnits PrimaryBaseOffset; in AddMethods()
1459 CharUnits PrimaryBaseOffsetInLayoutClass; in AddMethods()
1617 CharUnits::Zero()), in LayoutVTable()
1634 Components.push_back(VTableComponent::MakeVCallOffset(CharUnits::Zero())); in LayoutVTable()
1639 bool BaseIsVirtualInLayoutClass, CharUnits OffsetInLayoutClass) { in LayoutPrimaryAndSecondaryVTables()
1662 CharUnits OffsetToTop = MostDerivedClassOffset - OffsetInLayoutClass; in LayoutPrimaryAndSecondaryVTables()
1731 CharUnits OffsetInLayoutClass) { in LayoutSecondaryVTables()
1763 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTables()
1764 CharUnits BaseOffset = Base.getBaseOffset() + RelativeBaseOffset; in LayoutSecondaryVTables()
1766 CharUnits BaseOffsetInLayoutClass = in LayoutSecondaryVTables()
1787 const CXXRecordDecl *RD, CharUnits OffsetInLayoutClass, in DeterminePrimaryVirtualBases()
1804 CharUnits PrimaryBaseOffsetInLayoutClass = in DeterminePrimaryVirtualBases()
1822 CharUnits BaseOffsetInLayoutClass; in DeterminePrimaryVirtualBases()
1858 CharUnits BaseOffset = in LayoutVTablesForVirtualBases()
1863 CharUnits BaseOffsetInLayoutClass = in LayoutVTablesForVirtualBases()
2049 CharUnits BaseOffset = in dumpLayout()
2079 std::map<std::string, CharUnits> ClassNamesAndOffsets; in dumpLayout()
2082 CharUnits OffsetOffset = I.second; in dumpLayout()
2255 CharUnits
2266 BaseSubobject(RD, CharUnits::Zero()), in getVirtualBaseOffsetOffset()
2268 /*OffsetInLayoutClass=*/CharUnits::Zero()); in getVirtualBaseOffsetOffset()
2303 ItaniumVTableBuilder Builder(*this, RD, CharUnits::Zero(), in computeVTableRelatedInformation()
2334 const CXXRecordDecl *MostDerivedClass, CharUnits MostDerivedClassOffset, in createConstructionVTableLayout()
2483 CharUnits ComputeThisOffset(FinalOverriders::OverriderInfo Overrider);
2486 CharUnits ThisOffset, ThisAdjustment &TA);
2516 AddMethods(BaseSubobject(MostDerivedClass, CharUnits::Zero()), 0, nullptr, in LayoutVFTable()
2547 Overriders(MostDerivedClass, CharUnits(), MostDerivedClass) { in VFTableBuilder()
2650 CharUnits
2684 CharUnits Ret; in ComputeThisOffset()
2690 CharUnits ThisOffset = Overrider.Offset; in ComputeThisOffset()
2691 CharUnits LastVBaseOffset; in ComputeThisOffset()
2842 FinalOverriders::OverriderInfo Overrider, CharUnits ThisOffset, in CalculateVtordispAdjustment()
2858 CharUnits OffsetOfVBaseWithVFPtr = VBaseMapEntry->second.VBaseOffset; in CalculateVtordispAdjustment()
2933 CharUnits NextBaseOffset; in AddMethods()
2978 CharUnits ThisOffset = ComputeThisOffset(FinalOverrider); in AddMethods()
3407 const CXXRecordDecl *RD, CharUnits Offset, in findPathsToSubobject()
3420 CharUnits NewOffset = BS.isVirtual() in findPathsToSubobject()
3447 static CharUnits getOffsetOfFullPath(ASTContext &Context, in getOffsetOfFullPath()
3452 CharUnits Offset = CharUnits::fromQuantity(-1); in getOffsetOfFullPath()
3458 Offset = CharUnits::Zero(); in getOffsetOfFullPath()
3497 CharUnits BaseOffset = in selectBestPath()
3499 FinalOverriders Overriders(TopLevelRD, CharUnits::Zero(), TopLevelRD); in selectBestPath()
3557 Context, MostDerivedLayout, RD, CharUnits::Zero(), in computeFullPathsForVFTables()
3647 CharUnits LastVFPtrOffset = CharUnits::fromQuantity(-1); in dumpMethodLocations()
3650 CharUnits VFPtrOffset = I.first.VFPtrOffset; in dumpMethodLocations()
3733 CharUnits VFPtrOffset) { in getVFTableLayout()