Lines Matching defs:FieldOffset

144     uint64_t FieldOffset = Layout.getFieldOffset(FieldNo);
145 assert(FieldOffset % CharWidth == 0 &&
148 return Context.toCharUnitsFromBits(FieldOffset);
308 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
309 if (!CanPlaceFieldSubobjectAtOffset(*I, FieldOffset))
355 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
356 UpdateEmptyFieldSubobjects(*I, FieldOffset, PlacingEmptyBase);
420 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
422 if (!CanPlaceFieldSubobjectAtOffset(*I, FieldOffset))
531 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
533 UpdateEmptyFieldSubobjects(*I, FieldOffset, PlacingOverlappingField);
1507 uint64_t FieldOffset;
1514 FieldOffset = 0;
1518 FieldOffset = llvm::alignTo(getDataSizeInBits(), Context.toBits(TypeAlign));
1520 uint64_t NewSizeInBits = FieldOffset + FieldSize;
1528 FieldOffsets.push_back(FieldOffset);
1530 CheckFieldPadding(FieldOffset, UnpaddedFieldOffset, FieldOffset,
1660 uint64_t FieldOffset =
1669 if (!IsUnion && FieldOffset == 0 &&
1719 uint64_t UnpaddedFieldOffset = FieldOffset;
1720 uint64_t UnpackedFieldOffset = FieldOffset;
1731 FieldOffset = llvm::alignTo(FieldOffset, FieldAlign);
1744 (FieldOffset & (FieldAlign - 1)) + FieldSize > StorageUnitSize)) {
1745 FieldOffset = llvm::alignTo(FieldOffset, FieldAlign);
1752 FieldOffset = llvm::alignTo(FieldOffset, ExplicitFieldAlign);
1773 FieldOffset = updateExternalFieldOffset(D, FieldOffset);
1776 FieldOffsets.push_back(FieldOffset);
1802 CheckFieldPadding(FieldOffset, UnpaddedFieldOffset, UnpackedFieldOffset,
1829 setDataSize(FieldOffset + StorageUnitSize);
1839 uint64_t NewSizeInBits = FieldOffset + FieldSize;
1866 CharUnits FieldOffset =
1873 assert(FieldOffset == CharUnits::Zero() &&
2033 CharUnits UnpackedFieldOffset = FieldOffset;
2062 FieldOffset = FieldOffset.alignTo(AlignTo);
2066 FieldOffset = Context.toCharUnitsFromBits(
2067 updateExternalFieldOffset(D, Context.toBits(FieldOffset)));
2071 bool Allowed = EmptySubobjects->CanPlaceFieldAtOffset(D, FieldOffset);
2078 while (!EmptySubobjects->CanPlaceFieldAtOffset(D, FieldOffset)) {
2081 if (FieldOffset == CharUnits::Zero() &&
2083 FieldOffset = getDataSize().alignTo(AlignTo);
2085 FieldOffset += AlignTo;
2091 FieldOffsets.push_back(Context.toBits(FieldOffset));
2094 CheckFieldPadding(Context.toBits(FieldOffset), UnpaddedFieldOffset,
2113 setDataSize(FieldOffset + EffectiveFieldSize);
2115 PaddedFieldSize = std::max(PaddedFieldSize, FieldOffset + FieldSize);
2119 (uint64_t)Context.toBits(FieldOffset + FieldSize)));
2136 if (FieldOffset % OriginalFieldAlign != 0)
2607 void placeFieldAtOffset(CharUnits FieldOffset) {
2608 FieldOffsets.push_back(Context.toBits(FieldOffset));
2611 void placeFieldAtBitOffset(uint64_t FieldOffset) {
2612 FieldOffsets.push_back(FieldOffset);
2990 CharUnits FieldOffset = CharUnits::Zero();
2993 FieldOffset =
2996 FieldOffset = CharUnits::Zero();
2999 FieldOffset = DataSize.alignTo(Info.Alignment);
3001 while (!EmptySubobjects->CanPlaceFieldAtOffset(FD, FieldOffset)) {
3005 if (FieldOffset == CharUnits::Zero() && DataSize != CharUnits::Zero() &&
3009 FieldOffset = DataSize.alignTo(Info.Alignment);
3011 FieldOffset += Info.Alignment;
3015 FieldOffset = Size.alignTo(Info.Alignment);
3017 placeFieldAtOffset(FieldOffset);
3020 DataSize = std::max(DataSize, FieldOffset + Info.Size);
3022 Size = std::max(Size, FieldOffset + Info.Size);
3061 CharUnits FieldOffset = Size.alignTo(Info.Alignment);
3062 placeFieldAtOffset(FieldOffset);
3063 Size = FieldOffset + Info.Size;
3088 CharUnits FieldOffset = Size.alignTo(Info.Alignment);
3089 placeFieldAtOffset(FieldOffset);
3090 Size = FieldOffset;
3119 for (uint64_t &FieldOffset : FieldOffsets)
3120 FieldOffset += Context.toBits(Offset);
3150 for (uint64_t &FieldOffset : FieldOffsets)
3151 FieldOffset += Context.toBits(Offset);
3681 CharUnits FieldOffset =
3686 DumpRecordLayout(OS, RT->getDecl(), C, FieldOffset, IndentLevel,
3694 uint64_t LocalFieldByteOffsetInBits = C.toBits(FieldOffset - Offset);
3697 PrintBitFieldOffset(OS, FieldOffset, Begin, Width, IndentLevel);
3699 PrintOffset(OS, FieldOffset, IndentLevel);