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()
1301 setDataSize(Offset + Layout.getNonVirtualSize()); in LayoutBase()
1305 setSize(std::max(getSize(), Offset + Layout.getSize())); in LayoutBase()
1372 void ItaniumRecordLayoutBuilder::Layout(const RecordDecl *D) { in Layout() function in ItaniumRecordLayoutBuilder
1381 void ItaniumRecordLayoutBuilder::Layout(const CXXRecordDecl *RD) { in Layout() function in ItaniumRecordLayoutBuilder
1421 void ItaniumRecordLayoutBuilder::Layout(const ObjCInterfaceDecl *D) { in Layout() function in ItaniumRecordLayoutBuilder
1917 const ASTRecordLayout &Layout = Context.getASTRecordLayout(FieldClass); in LayoutField() local
1919 std::max(Layout.getNonVirtualSize(), Layout.getDataSize()); in LayoutField()
2522 ElementInfo getAdjustedElementInfo(const ASTRecordLayout &Layout);
2604 const ASTRecordLayout &Layout) { in getAdjustedElementInfo() argument
2606 Info.Alignment = Layout.getAlignment(); in getAdjustedElementInfo()
2611 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject(); in getAdjustedElementInfo()
2616 RequiredAlignment = std::max(RequiredAlignment, Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2617 Info.Alignment = std::max(Info.Alignment, Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2618 Info.Size = Layout.getNonVirtualSize(); in getAdjustedElementInfo()
2645 auto const &Layout = Context.getASTRecordLayout(RT->getDecl()); in getAdjustedElementInfo() local
2646 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject(); in getAdjustedElementInfo()
2648 Layout.getRequiredAlignment()); in getAdjustedElementInfo()
2831 const ASTRecordLayout &Layout = Context.getASTRecordLayout(SharedVBPtrBase); in layoutNonVirtualBases() local
2832 VBPtrOffset = Bases[SharedVBPtrBase] + Layout.getVBPtrOffset(); in layoutNonVirtualBases()
3163 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in computeVtorDispSet() local
3164 if (Layout.hasExtendableVFPtr()) in computeVtorDispSet()
3174 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in computeVtorDispSet() local
3175 for (const auto &bi : Layout.getVBaseOffsetsMap()) in computeVtorDispSet()
3271 Builder.Layout(RD); in getASTRecordLayout()
3297 Builder.Layout(D); in getASTRecordLayout()
3364 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent()); in getFieldOffset() local
3365 return Layout.getFieldOffset(FD->getFieldIndex()); in getFieldOffset()
3451 Builder.Layout(D); in getObjCLayout()
3500 const ASTRecordLayout &Layout = C.getASTRecordLayout(RD); in DumpRecordLayout() local
3515 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase(); in DumpRecordLayout()
3516 bool HasOwnVFPtr = Layout.hasOwnVFPtr(); in DumpRecordLayout()
3517 bool HasOwnVBPtr = Layout.hasOwnVBPtr(); in DumpRecordLayout()
3541 return Layout.getBaseClassOffset(L) < Layout.getBaseClassOffset(R); in DumpRecordLayout()
3546 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base); in DumpRecordLayout()
3555 PrintOffset(OS, Offset + Layout.getVBPtrOffset(), IndentLevel); in DumpRecordLayout()
3565 uint64_t LocalFieldOffsetInBits = Layout.getFieldOffset(FieldNo); in DumpRecordLayout()
3595 Layout.getVBaseOffsetsMap(); in DumpRecordLayout()
3601 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase); in DumpRecordLayout()
3609 VBase == Layout.getPrimaryBase() ? in DumpRecordLayout()
3619 OS << "[sizeof=" << Layout.getSize().getQuantity(); in DumpRecordLayout()
3621 OS << ", dsize=" << Layout.getDataSize().getQuantity(); in DumpRecordLayout()
3622 OS << ", align=" << Layout.getAlignment().getQuantity(); in DumpRecordLayout()
3624 OS << ", preferredalign=" << Layout.getPreferredAlignment().getQuantity(); in DumpRecordLayout()
3629 OS << " nvsize=" << Layout.getNonVirtualSize().getQuantity(); in DumpRecordLayout()
3630 OS << ", nvalign=" << Layout.getNonVirtualAlignment().getQuantity(); in DumpRecordLayout()
3633 << Layout.getPreferredNVAlignment().getQuantity(); in DumpRecordLayout()