Lines Matching defs:Layout

141   CharUnits getFieldOffset(const ASTRecordLayout &Layout,
143 uint64_t FieldOffset = Layout.getFieldOffset(Field->getFieldIndex());
192 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
195 EmptySize = Layout.getSize();
198 EmptySize = Layout.getSizeOfLargestEmptySubobject();
216 const ASTRecordLayout &Layout = Context.getASTRecordLayout(MemberDecl);
219 EmptySize = Layout.getSize();
222 EmptySize = Layout.getSizeOfLargestEmptySubobject();
280 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
285 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
305 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
328 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
333 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
350 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
383 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
392 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
402 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl);
413 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
441 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
454 ElementOffset += Layout.getSize();
490 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
499 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
509 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl);
520 CharUnits FieldOffset = Offset + getFieldOffset(Layout, Field);
541 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
558 ElementOffset += Layout.getSize();
705 void Layout(const RecordDecl *D);
706 void Layout(const CXXRecordDecl *D);
707 void Layout(const ObjCInterfaceDecl *D);
931 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
932 if (Layout.isPrimaryBaseVirtual()) {
934 PrimaryVirtualBase = Layout.getPrimaryBase();
1096 // Layout the base.
1129 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
1134 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
1148 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1149 PrimaryBase = Layout.getPrimaryBase();
1150 PrimaryBaseIsVirtual = Layout.isPrimaryBaseVirtual();
1189 // Layout the base.
1204 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Base->Class);
1227 CharUnits UnpackedBaseAlign = Layout.getNonVirtualAlignment();
1228 CharUnits UnpackedPreferredBaseAlign = Layout.getPreferredNVAlignment();
1258 setSize(std::max(getSize(), Layout.getSize()));
1298 setDataSize(Offset + Layout.getNonVirtualSize());
1302 setSize(std::max(getSize(), Offset + Layout.getSize()));
1369 void ItaniumRecordLayoutBuilder::Layout(const RecordDecl *D) {
1378 void ItaniumRecordLayoutBuilder::Layout(const CXXRecordDecl *RD) {
1418 void ItaniumRecordLayoutBuilder::Layout(const ObjCInterfaceDecl *D) {
1431 // Layout each ivar sequentially.
1442 // Layout each field, for now, just sequentially, respecting alignment. In
1912 const ASTRecordLayout &Layout = Context.getASTRecordLayout(FieldClass);
1914 std::max(Layout.getNonVirtualSize(), Layout.getDataSize());
2587 ElementInfo getAdjustedElementInfo(const ASTRecordLayout &Layout);
2671 const ASTRecordLayout &Layout) {
2673 Info.Alignment = Layout.getAlignment();
2678 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject();
2683 RequiredAlignment = std::max(RequiredAlignment, Layout.getRequiredAlignment());
2684 Info.Alignment = std::max(Info.Alignment, Layout.getRequiredAlignment());
2685 Info.Size = Layout.getNonVirtualSize();
2712 auto const &Layout = Context.getASTRecordLayout(RT->getDecl());
2713 EndsWithZeroSizedObject = Layout.endsWithZeroSizedObject();
2715 Layout.getRequiredAlignment());
2899 const ASTRecordLayout &Layout = Context.getASTRecordLayout(SharedVBPtrBase);
2900 VBPtrOffset = Bases[SharedVBPtrBase] + Layout.getVBPtrOffset();
3259 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
3260 if (Layout.hasExtendableVFPtr())
3270 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
3271 for (const auto &bi : Layout.getVBaseOffsetsMap())
3371 Builder.Layout(RD);
3397 Builder.Layout(D);
3410 llvm::outs() << "\n*** Dumping AST Record Layout\n";
3464 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent());
3465 return Layout.getFieldOffset(FD->getFieldIndex());
3552 Builder.Layout(D);
3601 const ASTRecordLayout &Layout = C.getASTRecordLayout(RD);
3616 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
3617 bool HasOwnVFPtr = Layout.hasOwnVFPtr();
3618 bool HasOwnVBPtr = Layout.hasOwnVBPtr();
3642 return Layout.getBaseClassOffset(L) < Layout.getBaseClassOffset(R);
3647 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base);
3656 PrintOffset(OS, Offset + Layout.getVBPtrOffset(), IndentLevel);
3664 Layout.getFieldOffset(Field->getFieldIndex());
3694 Layout.getVBaseOffsetsMap();
3700 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase);
3708 VBase == Layout.getPrimaryBase() ?
3718 OS << "[sizeof=" << Layout.getSize().getQuantity();
3720 OS << ", dsize=" << Layout.getDataSize().getQuantity();
3721 OS << ", align=" << Layout.getAlignment().getQuantity();
3723 OS << ", preferredalign=" << Layout.getPreferredAlignment().getQuantity();
3728 OS << " nvsize=" << Layout.getNonVirtualSize().getQuantity();
3729 OS << ", nvalign=" << Layout.getNonVirtualAlignment().getQuantity();
3732 << Layout.getPreferredNVAlignment().getQuantity();