• Home
  • Raw
  • Download

Lines Matching refs:CharUnits

69   typedef llvm::DenseMap<CharUnits, ClassVectorTy> EmptyClassOffsetsMapTy;
74 CharUnits MaxEmptyClassOffset;
80 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset);
83 CharUnits Offset, bool PlacingEmptyBase);
87 CharUnits Offset);
88 void UpdateEmptyFieldSubobjects(const FieldDecl *FD, CharUnits Offset);
92 bool AnyEmptySubobjectsBeyondOffset(CharUnits Offset) const { in AnyEmptySubobjectsBeyondOffset()
96 CharUnits
107 CharUnits Offset) const;
110 CharUnits Offset);
114 CharUnits Offset) const;
116 CharUnits Offset) const;
122 CharUnits SizeOfLargestEmptySubobject;
134 CharUnits Offset);
138 bool CanPlaceFieldAtOffset(const FieldDecl *FD, CharUnits Offset);
148 CharUnits EmptySize; in ComputeEmptySubobjectSizes()
173 CharUnits EmptySize; in ComputeEmptySubobjectSizes()
191 CharUnits Offset) const { in CanPlaceSubobjectAtOffset()
209 CharUnits Offset) { in AddSubobjectAtOffset()
229 CharUnits Offset) { in CanPlaceBaseSubobjectAtOffset()
245 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in CanPlaceBaseSubobjectAtOffset()
267 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in CanPlaceBaseSubobjectAtOffset()
276 CharUnits Offset, in UpdateEmptyBaseSubobjects()
296 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in UpdateEmptyBaseSubobjects()
315 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in UpdateEmptyBaseSubobjects()
321 CharUnits Offset) { in CanPlaceBaseAtOffset()
339 CharUnits Offset) const { in CanPlaceFieldSubobjectAtOffset()
359 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset()
371 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl); in CanPlaceFieldSubobjectAtOffset()
384 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in CanPlaceFieldSubobjectAtOffset()
395 CharUnits Offset) const { in CanPlaceFieldSubobjectAtOffset()
418 CharUnits ElementOffset = Offset; in CanPlaceFieldSubobjectAtOffset()
437 CharUnits Offset) { in CanPlaceFieldAtOffset()
449 CharUnits Offset) { in UpdateEmptyFieldSubobjects()
471 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects()
482 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl); in UpdateEmptyFieldSubobjects()
494 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in UpdateEmptyFieldSubobjects()
501 CharUnits Offset) { in UpdateEmptyFieldSubobjects()
520 CharUnits ElementOffset = Offset; in UpdateEmptyFieldSubobjects()
552 CharUnits Alignment;
555 CharUnits UnpackedAlignment;
583 CharUnits MaxFieldAlignment;
588 CharUnits NonVirtualSize;
589 CharUnits NonVirtualAlignment;
606 CharUnits VBPtrOffset;
608 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsetsMapTy;
638 llvm::DenseMap<const CXXRecordDecl *, CharUnits> ExternalBaseOffsets;
641 llvm::DenseMap<const CXXRecordDecl *, CharUnits> ExternalVirtualBaseOffsets;
646 Alignment(CharUnits::One()), UnpackedAlignment(CharUnits::One()), in RecordLayoutBuilder()
649 UnfilledBitsInLastByte(0), MaxFieldAlignment(CharUnits::Zero()), in RecordLayoutBuilder()
650 DataSize(0), NonVirtualSize(CharUnits::Zero()), in RecordLayoutBuilder()
651 NonVirtualAlignment(CharUnits::One()), in RecordLayoutBuilder()
655 VBPtrOffset(CharUnits::fromQuantity(-1)), in RecordLayoutBuilder()
661 void resetWithTargetAlignment(CharUnits TargetAlignment) { in resetWithTargetAlignment()
714 void EnsureVTablePointerAlignment(CharUnits UnpackedBaseAlign);
724 CharUnits Offset);
744 CharUnits LayoutBase(const BaseSubobjectInfo *Base);
753 void UpdateAlignment(CharUnits NewAlignment, CharUnits UnpackedNewAlignment);
754 void UpdateAlignment(CharUnits NewAlignment) { in UpdateAlignment()
772 CharUnits getSize() const { in getSize()
778 void setSize(CharUnits NewSize) { Size = Context.toBits(NewSize); } in setSize()
781 CharUnits getAligment() const { return Alignment; } in getAligment()
783 CharUnits getDataSize() const { in getDataSize()
789 void setDataSize(CharUnits NewSize) { DataSize = Context.toBits(NewSize); } in setDataSize()
992 RecordLayoutBuilder::EnsureVTablePointerAlignment(CharUnits UnpackedBaseAlign) { in EnsureVTablePointerAlignment()
993 CharUnits BaseAlign = (Packed) ? CharUnits::One() : UnpackedBaseAlign; in EnsureVTablePointerAlignment()
1046 CharUnits PtrWidth = in LayoutNonVirtualBases()
1048 CharUnits PtrAlign = in LayoutNonVirtualBases()
1094 CharUnits PtrWidth = in LayoutNonVirtualBases()
1096 CharUnits PtrAlign = in LayoutNonVirtualBases()
1123 CharUnits Offset = LayoutBase(Base); in LayoutNonVirtualBase()
1134 CharUnits Offset) { in AddPrimaryVirtualBaseOffsets()
1162 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in AddPrimaryVirtualBaseOffsets()
1478 CharUnits IntSize = in MSLayoutVirtualBases()
1479 CharUnits::fromQuantity(Context.getTargetInfo().getIntWidth() / 8); in MSLayoutVirtualBases()
1495 CharUnits Offset = LayoutBase(Base); in LayoutVirtualBase()
1506 CharUnits RecordLayoutBuilder::LayoutBase(const BaseSubobjectInfo *Base) { in LayoutBase()
1510 CharUnits Offset; in LayoutBase()
1515 llvm::DenseMap<const CXXRecordDecl *, CharUnits>::iterator Known; in LayoutBase()
1533 (!HasExternalLayout || Offset == CharUnits::Zero()) && in LayoutBase()
1534 EmptySubobjects->CanPlaceBaseAtOffset(Base, CharUnits::Zero())) { in LayoutBase()
1537 return CharUnits::Zero(); in LayoutBase()
1540 CharUnits UnpackedBaseAlign = Layout.getNonVirtualAlign(); in LayoutBase()
1541 CharUnits BaseAlign = (Packed) ? CharUnits::One() : UnpackedBaseAlign; in LayoutBase()
1586 MaxFieldAlignment = CharUnits::fromQuantity(DefaultMaxFieldAlignment); in InitializeLayout()
1595 MaxFieldAlignment = CharUnits::fromQuantity(2); in InitializeLayout()
1596 Alignment = CharUnits::fromQuantity(2); in InitializeLayout()
1652 CharUnits AlignMember = in Layout()
1870 CharUnits TypeAlign = Context.getTypeAlignInChars(Type); in LayoutWideBitField()
2039 CharUnits FieldOffset = in LayoutField()
2040 IsUnion ? CharUnits::Zero() : getDataSize(); in LayoutField()
2041 CharUnits FieldSize; in LayoutField()
2042 CharUnits FieldAlign; in LayoutField()
2049 FieldSize = CharUnits::Zero(); in LayoutField()
2059 std::pair<CharUnits, CharUnits> FieldInfo = in LayoutField()
2065 CharUnits ZeroLengthBitfieldBoundary = in LayoutField()
2068 if (ZeroLengthBitfieldBoundary == CharUnits::Zero()) { in LayoutField()
2073 std::pair<CharUnits, CharUnits> FieldInfo = in LayoutField()
2075 CharUnits ZeroLengthBitfieldAlignment = FieldInfo.second; in LayoutField()
2096 CharUnits TypeSize = Context.getTypeSizeInChars(BTy); in LayoutField()
2105 CharUnits UnpackedFieldAlign = FieldAlign; in LayoutField()
2106 CharUnits UnpackedFieldOffset = FieldOffset; in LayoutField()
2109 FieldAlign = CharUnits::One(); in LayoutField()
2110 CharUnits MaxAlignmentInChars = in LayoutField()
2181 setSize(CharUnits::One()); in FinishLayout()
2184 setSize(CharUnits::One()); in FinishLayout()
2199 CharUnits UnpackedSize = Context.toCharUnitsFromBits(UnpackedSizeInBits); in FinishLayout()
2220 if (Packed && UnpackedAlignment > CharUnits::One() && in FinishLayout()
2227 void RecordLayoutBuilder::UpdateAlignment(CharUnits NewAlignment, in UpdateAlignment()
2228 CharUnits UnpackedNewAlignment) { in UpdateAlignment()
2258 Alignment = CharUnits::fromQuantity(1); in updateExternalFieldOffset()
2422 if (Builder.VBPtrOffset != CharUnits::fromQuantity(-1) && in getASTRecordLayout()
2436 CharUnits DataSize = in getASTRecordLayout()
2438 CharUnits NonVirtualSize = in getASTRecordLayout()
2557 CharUnits Offset, unsigned IndentLevel) { in PrintOffset()
2564 CharUnits Offset, in DumpCXXRecordLayout()
2582 bool HasVbptr = Layout.getVBPtrOffset() != CharUnits::fromQuantity(-1); in DumpCXXRecordLayout()
2602 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base); in DumpCXXRecordLayout()
2624 CharUnits FieldOffset = Offset + in DumpCXXRecordLayout()
2652 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase); in DumpCXXRecordLayout()
2655 PrintOffset(OS, VBaseOffset - CharUnits::fromQuantity(4), IndentLevel); in DumpCXXRecordLayout()
2680 return DumpCXXRecordLayout(OS, CXXRD, *this, CharUnits(), 0, 0, in DumpRecordLayout()