Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Layout

64 ///   layout.  This introduces a somewhat awkward extra unnecessary clip stage.
103 /// The Microsoft bitfield layout rule allocates discrete storage
105 /// fields of the same formal type. We want to emit a layout with
113 /// The Itanium base layout rule allows virtual bases to overlap
114 /// other bases, which complicates layout in specific ways.
166 return Layout.getFieldOffset(FD->getFieldIndex());
168 // Layout routines.
198 const ASTRecordLayout &Layout;
220 Layout(Types.getContext().getASTRecordLayout(D)),
263 CharUnits Size = NVBaseType ? Layout.getNonVirtualSize() : Layout.getSize();
287 CharUnits LayoutSize = Layout.getSize();
443 if (Layout.isPrimaryBaseVirtual()) {
444 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase();
458 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl),
464 if (Layout.hasOwnVFPtr())
468 if (Layout.hasOwnVBPtr())
469 Members.push_back(MemberInfo(Layout.getVBPtrOffset(), MemberInfo::VBPtr,
474 CharUnits ScissorOffset = Layout.getNonVirtualSize();
489 Layout.getVBaseClassOffset(BaseDecl));
497 CharUnits Offset = Layout.getVBaseClassOffset(BaseDecl);
508 if (Layout.getVBaseOffsetsMap().find(BaseDecl)->second.hasVtorDisp())
573 !NVBaseType && RD ? Layout.getNonVirtualSize() : CharUnits::Zero();
695 if (Builder.Layout.getNonVirtualSize() != Builder.Layout.getSize()) {
709 // signifies that the type is no longer opaque and record layout is complete,
710 // but we may need to recursively layout D while laying D out as a base type.
726 // Dump the layout, if requested.
728 llvm::outs() << "\n*** Dumping IRgen Record Layout\n";
736 // Verify that the computed LLVM struct size matches the AST layout size.
737 Layout = getContext().getASTRecordLayout(D);
739 uint64_t TypeSizeInBits = getContext().toBits(Layout.getSize());
744 CharUnits NonVirtualSize = Layout.getNonVirtualSize();
784 // Unions have overlapping elements dictating their layout, but for
785 // non-unions we can verify that this section of the layout is the exact