Lines Matching full:fieldoffset
143 uint64_t FieldOffset = Layout.getFieldOffset(Field->getFieldIndex());
144 assert(FieldOffset % CharWidth == 0 &&
147 return Context.toCharUnitsFromBits(FieldOffset);
305 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
306 if (!CanPlaceFieldSubobjectAtOffset(Field, FieldOffset))
350 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
351 UpdateEmptyFieldSubobjects(Field, FieldOffset, PlacingEmptyBase);
413 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
414 if (!CanPlaceFieldSubobjectAtOffset(Field, FieldOffset))
520 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
521 UpdateEmptyFieldSubobjects(Field, FieldOffset, PlacingOverlappingField);
1493 uint64_t FieldOffset;
1500 FieldOffset = 0;
1504 FieldOffset = llvm::alignTo(getDataSizeInBits(), Context.toBits(TypeAlign));
1506 uint64_t NewSizeInBits = FieldOffset + FieldSize;
1514 FieldOffsets.push_back(FieldOffset);
1516 CheckFieldPadding(FieldOffset, UnpaddedFieldOffset, FieldOffset,
1646 uint64_t FieldOffset =
1655 if (!IsUnion && FieldOffset == 0 &&
1705 uint64_t UnpaddedFieldOffset = FieldOffset;
1706 uint64_t UnpackedFieldOffset = FieldOffset;
1717 FieldOffset = llvm::alignTo(FieldOffset, FieldAlign);
1730 (FieldOffset & (FieldAlign - 1)) + FieldSize > StorageUnitSize)) {
1731 FieldOffset = llvm::alignTo(FieldOffset, FieldAlign);
1738 FieldOffset = llvm::alignTo(FieldOffset, ExplicitFieldAlign);
1759 FieldOffset = updateExternalFieldOffset(D, FieldOffset);
1762 FieldOffsets.push_back(FieldOffset);
1788 CheckFieldPadding(FieldOffset, UnpaddedFieldOffset, UnpackedFieldOffset,
1815 setDataSize(FieldOffset + StorageUnitSize);
1825 uint64_t NewSizeInBits = FieldOffset + FieldSize;
1852 CharUnits FieldOffset =
1859 assert(FieldOffset == CharUnits::Zero() &&
2019 CharUnits UnpackedFieldOffset = FieldOffset;
2048 FieldOffset = FieldOffset.alignTo(AlignTo);
2052 FieldOffset = Context.toCharUnitsFromBits(
2053 updateExternalFieldOffset(D, Context.toBits(FieldOffset)));
2057 bool Allowed = EmptySubobjects->CanPlaceFieldAtOffset(D, FieldOffset);
2064 while (!EmptySubobjects->CanPlaceFieldAtOffset(D, FieldOffset)) {
2067 if (FieldOffset == CharUnits::Zero() &&
2069 FieldOffset = getDataSize().alignTo(AlignTo);
2071 FieldOffset += AlignTo;
2077 FieldOffsets.push_back(Context.toBits(FieldOffset));
2080 CheckFieldPadding(Context.toBits(FieldOffset), UnpaddedFieldOffset,
2099 setDataSize(FieldOffset + EffectiveFieldSize);
2101 PaddedFieldSize = std::max(PaddedFieldSize, FieldOffset + FieldSize);
2105 (uint64_t)Context.toBits(FieldOffset + FieldSize)));
2122 if (FieldOffset % OriginalFieldAlign != 0)
2593 void placeFieldAtOffset(CharUnits FieldOffset) {
2594 FieldOffsets.push_back(Context.toBits(FieldOffset));
2597 void placeFieldAtBitOffset(uint64_t FieldOffset) {
2598 FieldOffsets.push_back(FieldOffset);
2976 CharUnits FieldOffset = CharUnits::Zero();
2979 FieldOffset =
2982 FieldOffset = CharUnits::Zero();
2985 FieldOffset = DataSize.alignTo(Info.Alignment);
2987 while (!EmptySubobjects->CanPlaceFieldAtOffset(FD, FieldOffset)) {
2991 if (FieldOffset == CharUnits::Zero() && DataSize != CharUnits::Zero() &&
2995 FieldOffset = DataSize.alignTo(Info.Alignment);
2997 FieldOffset += Info.Alignment;
3001 FieldOffset = Size.alignTo(Info.Alignment);
3003 placeFieldAtOffset(FieldOffset);
3006 DataSize = std::max(DataSize, FieldOffset + Info.Size);
3008 Size = std::max(Size, FieldOffset + Info.Size);
3047 CharUnits FieldOffset = Size.alignTo(Info.Alignment);
3048 placeFieldAtOffset(FieldOffset);
3049 Size = FieldOffset + Info.Size;
3074 CharUnits FieldOffset = Size.alignTo(Info.Alignment);
3075 placeFieldAtOffset(FieldOffset);
3076 Size = FieldOffset;
3105 for (uint64_t &FieldOffset : FieldOffsets)
3106 FieldOffset += Context.toBits(Offset);
3136 for (uint64_t &FieldOffset : FieldOffsets)
3137 FieldOffset += Context.toBits(Offset);
3665 CharUnits FieldOffset =
3670 DumpRecordLayout(OS, RT->getDecl(), C, FieldOffset, IndentLevel,
3678 uint64_t LocalFieldByteOffsetInBits = C.toBits(FieldOffset - Offset);
3681 PrintBitFieldOffset(OS, FieldOffset, Begin, Width, IndentLevel);
3683 PrintOffset(OS, FieldOffset, IndentLevel);