Lines Matching refs:CharUnits
45 CharUnits NonVirtualOffset;
48 NonVirtualOffset(CharUnits::Zero()) { }
50 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset)
67 CharUnits Offset;
69 OverriderInfo() : Method(0), Offset(CharUnits::Zero()) { }
80 const CharUnits MostDerivedClassOffset;
94 typedef std::pair<const CXXMethodDecl *, CharUnits> MethodBaseOffsetPairTy;
107 CharUnits> SubobjectOffsetMapTy;
114 CharUnits OffsetInLayoutClass,
128 CharUnits MostDerivedClassOffset,
134 CharUnits BaseOffset) const {
144 dump(llvm::errs(), BaseSubobject(MostDerivedClass, CharUnits::Zero()),
151 CharUnits MostDerivedClassOffset,
162 ComputeBaseOffsets(BaseSubobject(MostDerivedClass, CharUnits::Zero()),
184 CharUnits BaseOffset = SubobjectOffsets[std::make_pair(MD->getParent(),
194 CharUnits OverriderOffset =
215 CharUnits NonVirtualOffset = CharUnits::Zero();
244 // FIXME: This should probably use CharUnits or something. Maybe we should
246 // CharUnits.
319 CharUnits OffsetInLayoutClass,
344 CharUnits BaseOffset;
345 CharUnits BaseOffsetInLayoutClass;
359 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl);
385 CharUnits BaseOffset;
436 CharUnits> MethodAndOffsetPairTy;
451 bool AddVCallOffset(const CXXMethodDecl *MD, CharUnits OffsetOffset);
455 CharUnits getVCallOffsetOffset(const CXXMethodDecl *MD);
505 CharUnits OffsetOffset) {
517 CharUnits VCallOffsetMap::getVCallOffsetOffset(const CXXMethodDecl *MD) {
530 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits>
568 CharUnits RealBaseOffset);
571 void AddVCallOffsets(BaseSubobject Base, CharUnits VBaseOffset);
575 CharUnits OffsetInLayoutClass);
579 CharUnits getCurrentOffsetOffset() const;
586 CharUnits OffsetInLayoutClass)
608 CharUnits RealBaseOffset) {
623 CharUnits PrimaryBaseOffset;
654 CharUnits VCallAndVBaseOffsetBuilder::getCurrentOffsetOffset() const {
661 CharUnits PointerWidth =
663 CharUnits OffsetOffset = PointerWidth * OffsetIndex;
668 CharUnits VBaseOffset) {
694 CharUnits OffsetOffset = getCurrentOffsetOffset();
701 CharUnits Offset = CharUnits::Zero();
729 CharUnits BaseOffset = Base.getBaseOffset() +
739 CharUnits OffsetInLayoutClass) {
750 CharUnits Offset =
757 CharUnits VBaseOffsetOffset = getCurrentOffsetOffset();
779 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits>
797 const CharUnits MostDerivedClassOffset;
832 const CharUnits BaseOffset;
836 const CharUnits BaseOffsetInLayoutClass;
842 MethodInfo(CharUnits BaseOffset, CharUnits BaseOffsetInLayoutClass,
849 : BaseOffset(CharUnits::Zero()),
850 BaseOffsetInLayoutClass(CharUnits::Zero()),
904 CharUnits BaseOffsetInLayoutClass,
931 CharUnits BaseOffsetInLayoutClass,
933 CharUnits FirstBaseOffsetInLayoutClass) const;
938 void AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass,
940 CharUnits FirstBaseOffsetInLayoutClass,
958 CharUnits OffsetInLayoutClass);
966 CharUnits OffsetInLayoutClass);
971 CharUnits OffsetInLayoutClass,
987 CharUnits MostDerivedClassOffset,
1242 CharUnits OffsetToBaseSubobject = Offset.NonVirtualOffset;
1274 CharUnits BaseOffsetInLayoutClass,
1304 CharUnits::Zero()),
1307 CharUnits::Zero());
1379 CharUnits BaseOffsetInLayoutClass,
1381 CharUnits FirstBaseOffsetInLayoutClass) const {
1469 VTableBuilder::AddMethods(BaseSubobject Base, CharUnits BaseOffsetInLayoutClass,
1471 CharUnits FirstBaseOffsetInLayoutClass,
1486 CharUnits PrimaryBaseOffset;
1487 CharUnits PrimaryBaseOffsetInLayoutClass;
1650 CharUnits::Zero()),
1667 Components.push_back(VTableComponent::MakeVCallOffset(CharUnits::Zero()));
1674 CharUnits OffsetInLayoutClass) {
1699 CharUnits OffsetToTop = MostDerivedClassOffset - OffsetInLayoutClass;
1778 CharUnits OffsetInLayoutClass) {
1811 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1812 CharUnits BaseOffset = Base.getBaseOffset() + RelativeBaseOffset;
1814 CharUnits BaseOffsetInLayoutClass =
1836 CharUnits OffsetInLayoutClass,
1853 CharUnits PrimaryBaseOffsetInLayoutClass =
1872 CharUnits BaseOffsetInLayoutClass;
1909 CharUnits BaseOffset =
1914 CharUnits BaseOffsetInLayoutClass =
2100 CharUnits BaseOffset =
2132 std::map<std::string, CharUnits> ClassNamesAndOffsets;
2136 CharUnits OffsetOffset = I->second;
2146 for (std::map<std::string, CharUnits>::const_iterator I =
2314 CharUnits
2325 BaseSubobject(RD, CharUnits::Zero()),
2327 /*OffsetInLayoutClass=*/CharUnits::Zero());
2365 VTableBuilder Builder(*this, RD, CharUnits::Zero(),
2399 CharUnits MostDerivedClassOffset,
2542 CharUnits ComputeThisOffset(const CXXMethodDecl *MD,
2575 AddMethods(BaseSubobject(MostDerivedClass, CharUnits::Zero()), 0, 0,
2610 Overriders(MostDerivedClass, CharUnits(), MostDerivedClass) {
2672 CharUnits
2679 return CharUnits();
2691 CharUnits Ret;
2697 CharUnits ThisOffset = Base.getBaseOffset();
2770 CharUnits NextBaseOffset;
2827 CharUnits TI = ComputeThisOffset(MD, Base, Overrider);
3083 CharUnits OffsetInCompleteClass = Base.getBaseOffset();
3091 CharUnits VFPtrOffset =
3105 CharUnits NextBaseOffset;
3134 BaseSubobject(ForClass, CharUnits::Zero()), 0,
3207 CharUnits LastVFPtrOffset = CharUnits::fromQuantity(-1);
3213 CharUnits VFPtrOffset = I->first.VFTableOffset;
3244 CharUnits VFPtrOffset) {