Lines Matching refs:Layout
143 getFieldOffset(const ASTRecordLayout &Layout, unsigned FieldNo) const { in getFieldOffset() argument
144 uint64_t FieldOffset = Layout.getFieldOffset(FieldNo); in getFieldOffset()
193 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in ComputeEmptySubobjectSizes() local
196 EmptySize = Layout.getSize(); in ComputeEmptySubobjectSizes()
199 EmptySize = Layout.getSizeOfLargestEmptySubobject(); in ComputeEmptySubobjectSizes()
217 const ASTRecordLayout &Layout = Context.getASTRecordLayout(MemberDecl); in ComputeEmptySubobjectSizes() local
220 EmptySize = Layout.getSize(); in ComputeEmptySubobjectSizes()
223 EmptySize = Layout.getSizeOfLargestEmptySubobject(); in ComputeEmptySubobjectSizes()
281 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class); in CanPlaceBaseSubobjectAtOffset() local
286 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in CanPlaceBaseSubobjectAtOffset()
308 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in CanPlaceBaseSubobjectAtOffset()
331 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class); in UpdateEmptyBaseSubobjects() local
336 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in UpdateEmptyBaseSubobjects()
355 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in UpdateEmptyBaseSubobjects()
388 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in CanPlaceFieldSubobjectAtOffset() local
397 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset()
407 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl); in CanPlaceFieldSubobjectAtOffset()
420 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in CanPlaceFieldSubobjectAtOffset()
449 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in CanPlaceFieldSubobjectAtOffset() local
462 ElementOffset += Layout.getSize(); in CanPlaceFieldSubobjectAtOffset()
499 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in UpdateEmptyFieldSubobjects() local
508 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects()
518 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl); in UpdateEmptyFieldSubobjects()
531 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); in UpdateEmptyFieldSubobjects()
553 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in UpdateEmptyFieldSubobjects() local
570 ElementOffset += Layout.getSize(); in UpdateEmptyFieldSubobjects()
710 void Layout(const RecordDecl *D);
711 void Layout(const CXXRecordDecl *D);
712 void Layout(const ObjCInterfaceDecl *D);
936 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in ComputeBaseSubobjectInfo() local
937 if (Layout.isPrimaryBaseVirtual()) { in ComputeBaseSubobjectInfo()
939 PrimaryVirtualBase = Layout.getPrimaryBase(); in ComputeBaseSubobjectInfo()
1134 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class); in AddPrimaryVirtualBaseOffsets() local
1139 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in AddPrimaryVirtualBaseOffsets()
1153 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in LayoutVirtualBases() local
1154 PrimaryBase = Layout.getPrimaryBase(); in LayoutVirtualBases()
1155 PrimaryBaseIsVirtual = Layout.isPrimaryBaseVirtual(); in LayoutVirtualBases()
1209 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Base->Class); in LayoutBase() local
1232 CharUnits UnpackedBaseAlign = Layout.getNonVirtualAlignment(); in LayoutBase()
1233 CharUnits UnpackedPreferredBaseAlign = Layout.getPreferredNVAlignment(); in LayoutBase()
1263 setSize(std::max(getSize(), Layout.getSize())); in LayoutBase()
1303 setDataSize(Offset + Layout.getNonVirtualSize()); in LayoutBase()
1307 setSize(std::max(getSize(), Offset + Layout.getSize())); in LayoutBase()
1374 void ItaniumRecordLayoutBuilder::Layout(const RecordDecl *D) { in Layout() function in ItaniumRecordLayoutBuilder
1383 void ItaniumRecordLayoutBuilder::Layout(const CXXRecordDecl *RD) { in Layout() function in ItaniumRecordLayoutBuilder
1423 void ItaniumRecordLayoutBuilder::Layout(const ObjCInterfaceDecl *D) { in Layout() function in ItaniumRecordLayoutBuilder
1920 const ASTRecordLayout &Layout = Context.getASTRecordLayout(FieldClass); in LayoutField() local
1922 std::max(Layout.getNonVirtualSize(), Layout.getDataSize()); in LayoutField()
2573 ElementInfo getAdjustedElementInfo(const ASTRecordLayout &Layout);
2655 const ASTRecordLayout &Layout) { in getAdjustedElementInfo() argument
2657 Info.Alignment = Layout.getAlignment(); in getAdjustedElementInfo()
2662 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject(); in getAdjustedElementInfo()
2667 RequiredAlignment = std::max(RequiredAlignment, Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2668 Info.Alignment = std::max(Info.Alignment, Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2669 Info.Size = Layout.getNonVirtualSize(); in getAdjustedElementInfo()
2696 auto const &Layout = Context.getASTRecordLayout(RT->getDecl()); in getAdjustedElementInfo() local
2697 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject(); in getAdjustedElementInfo()
2699 Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2883 const ASTRecordLayout &Layout = Context.getASTRecordLayout(SharedVBPtrBase); in layoutNonVirtualBases() local
2884 VBPtrOffset = Bases[SharedVBPtrBase] + Layout.getVBPtrOffset(); in layoutNonVirtualBases()
3214 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in computeVtorDispSet() local
3215 if (Layout.hasExtendableVFPtr()) in computeVtorDispSet()
3225 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in computeVtorDispSet() local
3226 for (const auto &bi : Layout.getVBaseOffsetsMap()) in computeVtorDispSet()
3324 Builder.Layout(RD); in getASTRecordLayout()
3350 Builder.Layout(D); in getASTRecordLayout()
3417 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent()); in getFieldOffset() local
3418 return Layout.getFieldOffset(FD->getFieldIndex()); in getFieldOffset()
3505 Builder.Layout(D); in getObjCLayout()
3554 const ASTRecordLayout &Layout = C.getASTRecordLayout(RD); in DumpRecordLayout() local
3569 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase(); in DumpRecordLayout()
3570 bool HasOwnVFPtr = Layout.hasOwnVFPtr(); in DumpRecordLayout()
3571 bool HasOwnVBPtr = Layout.hasOwnVBPtr(); in DumpRecordLayout()
3595 return Layout.getBaseClassOffset(L) < Layout.getBaseClassOffset(R); in DumpRecordLayout()
3600 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base); in DumpRecordLayout()
3609 PrintOffset(OS, Offset + Layout.getVBPtrOffset(), IndentLevel); in DumpRecordLayout()
3619 uint64_t LocalFieldOffsetInBits = Layout.getFieldOffset(FieldNo); in DumpRecordLayout()
3649 Layout.getVBaseOffsetsMap(); in DumpRecordLayout()
3655 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase); in DumpRecordLayout()
3663 VBase == Layout.getPrimaryBase() ? in DumpRecordLayout()
3673 OS << "[sizeof=" << Layout.getSize().getQuantity(); in DumpRecordLayout()
3675 OS << ", dsize=" << Layout.getDataSize().getQuantity(); in DumpRecordLayout()
3676 OS << ", align=" << Layout.getAlignment().getQuantity(); in DumpRecordLayout()
3678 OS << ", preferredalign=" << Layout.getPreferredAlignment().getQuantity(); in DumpRecordLayout()
3683 OS << " nvsize=" << Layout.getNonVirtualSize().getQuantity(); in DumpRecordLayout()
3684 OS << ", nvalign=" << Layout.getNonVirtualAlignment().getQuantity(); in DumpRecordLayout()
3687 << Layout.getPreferredNVAlignment().getQuantity(); in DumpRecordLayout()