Lines Matching refs:Layout

142   getFieldOffset(const ASTRecordLayout &Layout, unsigned FieldNo) const {
143 uint64_t FieldOffset = Layout.getFieldOffset(FieldNo);
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);
307 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
330 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
335 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
354 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
387 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
396 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
406 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl);
419 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
448 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
461 ElementOffset += Layout.getSize();
493 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
502 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl);
511 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBaseDecl);
523 CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo);
545 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
560 ElementOffset += Layout.getSize();
671 void Layout(const RecordDecl *D);
672 void Layout(const CXXRecordDecl *D);
673 void Layout(const ObjCInterfaceDecl *D);
893 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
894 if (Layout.isPrimaryBaseVirtual()) {
896 PrimaryVirtualBase = Layout.getPrimaryBase();
1055 // Layout the base.
1088 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Info->Class);
1093 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class);
1107 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1108 PrimaryBase = Layout.getPrimaryBase();
1109 PrimaryBaseIsVirtual = Layout.isPrimaryBaseVirtual();
1148 // Layout the base.
1161 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Base->Class);
1176 CharUnits UnpackedBaseAlign = Layout.getNonVirtualAlignment();
1183 setSize(std::max(getSize(), Layout.getSize()));
1217 setDataSize(Offset + Layout.getNonVirtualSize());
1221 setSize(std::max(getSize(), Offset + Layout.getSize()));
1277 void ItaniumRecordLayoutBuilder::Layout(const RecordDecl *D) {
1286 void ItaniumRecordLayoutBuilder::Layout(const CXXRecordDecl *RD) {
1326 void ItaniumRecordLayoutBuilder::Layout(const ObjCInterfaceDecl *D) {
1339 // Layout each ivar sequentially.
1350 // Layout each field, for now, just sequentially, respecting alignment. In
2243 ElementInfo getAdjustedElementInfo(const ASTRecordLayout &Layout);
2325 const ASTRecordLayout &Layout) {
2327 Info.Alignment = Layout.getAlignment();
2332 EndsWithZeroSizedObject = Layout.hasZeroSizedSubObject();
2337 RequiredAlignment = std::max(RequiredAlignment, Layout.getRequiredAlignment());
2338 Info.Alignment = std::max(Info.Alignment, Layout.getRequiredAlignment());
2339 Info.Size = Layout.getNonVirtualSize();
2366 auto const &Layout = Context.getASTRecordLayout(RT->getDecl());
2367 EndsWithZeroSizedObject = Layout.hasZeroSizedSubObject();
2369 Layout.getRequiredAlignment());
2536 const ASTRecordLayout &Layout = Context.getASTRecordLayout(SharedVBPtrBase);
2537 VBPtrOffset = Bases[SharedVBPtrBase] + Layout.getVBPtrOffset();
2826 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
2827 if (Layout.hasExtendableVFPtr())
2837 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
2838 for (const auto &bi : Layout.getVBaseOffsetsMap())
2934 Builder.Layout(RD);
2959 Builder.Layout(D);
2972 llvm::outs() << "\n*** Dumping AST Record Layout\n";
3026 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent());
3027 return Layout.getFieldOffset(FD->getFieldIndex());
3077 Builder.Layout(D);
3129 const ASTRecordLayout &Layout = C.getASTRecordLayout(RD);
3144 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
3145 bool HasOwnVFPtr = Layout.hasOwnVFPtr();
3146 bool HasOwnVBPtr = Layout.hasOwnVBPtr();
3170 return Layout.getBaseClassOffset(L) < Layout.getBaseClassOffset(R);
3175 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base);
3184 PrintOffset(OS, Offset + Layout.getVBPtrOffset(), IndentLevel);
3194 uint64_t LocalFieldOffsetInBits = Layout.getFieldOffset(FieldNo);
3221 Layout.getVBaseOffsetsMap();
3227 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase);
3235 VBase == Layout.getPrimaryBase() ?
3245 OS << "[sizeof=" << Layout.getSize().getQuantity();
3247 OS << ", dsize=" << Layout.getDataSize().getQuantity();
3248 OS << ", align=" << Layout.getAlignment().getQuantity();
3253 OS << " nvsize=" << Layout.getNonVirtualSize().getQuantity();
3254 OS << ", nvalign=" << Layout.getNonVirtualAlignment().getQuantity();