Home | History | Annotate | Download | only in AST

Lines Matching defs:Alignment

553   /// Alignment - The current alignment of the record layout.
554 CharUnits Alignment;
556 /// \brief The alignment if attribute packed is not used.
565 /// \brief Whether we need to infer alignment, even when we have an
583 /// MaxFieldAlignment - The maximum allowed field alignment. This is set by
632 /// \brief Externally-provided alignment.
647 Alignment(CharUnits::One()), UnpackedAlignment(CharUnits::One()),
660 /// alignment as the initial alignment. This is used for the
667 Alignment = UnpackedAlignment = TargetAlignment;
746 /// alignment.
777 CharUnits getAligment() const { return Alignment; }
991 // The maximum field alignment overrides base align.
997 // Round up the current record size to pointer alignment.
1001 // Update the alignment.
1097 // the max alignment of all the non-virtual objects in the class.
1102 // first pass Alignment won't be set correctly here, but if the
1104 // and redo the layout from scratch with the right alignment.
1109 PtrAlign = std::max(PtrAlign, Alignment);
1357 // The maximum field alignment overrides base align.
1364 // Round up the current record size to the base's alignment boundary.
1384 // Remember max struct/class alignment.
1398 // Honor the default struct packing maximum alignment flag.
1403 // mac68k alignment supersedes maximum field alignment and attribute aligned,
1404 // and forces all structures to have 2-byte alignment. The IBM docs on it
1410 Alignment = CharUnits::fromQuantity(2);
1429 // Update based on external alignment.
1432 Alignment = Context.toCharUnitsFromBits(ExternalAlign);
1433 UnpackedAlignment = Alignment;
1435 // The external source didn't have alignment information; infer it.
1446 // Finally, round the size of the total struct up to the alignment of the
1462 NonVirtualAlignment = Alignment;
1465 NonVirtualSize != NonVirtualSize.RoundUpToAlignment(Alignment)) {
1467 NonVirtualSize.RoundUpToAlignment(Alignment) - NonVirtualSize;
1483 // Finally, round the size of the total struct up to the alignment
1529 // Finally, round the size of the total struct up to the alignment of the
1535 // Layout each field, for now, just sequentially, respecting alignment. In
1558 // common alignment requirements of the bit fields.
1559 // 2) Establish a new alignment for a bitfield following
1561 // 3) Establish a new alignment for a non-bitfield following
1604 // The maximum field alignment overrides the aligned attribute.
1718 // Remember max struct/class alignment.
1744 // and the alignment of the zero-length bitfield is
1750 // Ignore alignment of subsequent zero-length bitfields.
1757 // The alignment of a zero-length bitfield affects the alignment
1758 // of the next member. The alignment is the max of the zero
1759 // length bitfield's alignment and a target specific fixed value.
1785 // The maximum field alignment overrides the aligned attribute.
1792 // Check if we need to add padding to give the field the correct alignment.
1804 // Padding members don't affect overall alignment, unless zero length bitfield
1805 // alignment is enabled.
1837 // Remember max struct/class alignment.
1885 // and the alignment of the zero-length bitfield is
1894 // Align 'bar' based on a fixed alignment specified by the target.
1908 // alignment if necessary.
1930 // The maximum field alignment overrides the aligned attribute.
1936 // Round up the current record size to the field's alignment boundary.
1979 // Remember max struct/class alignment.
2002 // MSVC doesn't round up to the alignment of the record with virtual bases.
2008 // Finally, round the size of the record up to the alignment of the
2015 setSize(llvm::RoundUpToAlignment(getSizeInBits(), Context.toBits(Alignment)));
2033 // Warn if we packed it unnecessarily. If the alignment is 1 byte don't
2034 // bother since there won't be alignment issues.
2044 // The alignment is not modified when using 'mac68k' alignment or when
2045 // we have an externally-supplied layout that also provides overall alignment.
2049 if (NewAlignment > Alignment) {
2051 "Alignment not a power of 2"));
2052 Alignment = NewAlignment;
2057 "Alignment not a power of 2"));
2073 Alignment = CharUnits::fromQuantity(1);
2122 // Warn if we packed it unnecessarily. If the alignment is 1 byte don't
2123 // bother since there won't be alignment issues.
2211 // MSVC gives the vb-table pointer an alignment equal to that of
2214 // adequate alignment, try again with the specified minimum
2215 // alignment. This is *much* more maintainable than computing the
2216 // alignment in advance in a separately-coded pass; it's also
2240 Builder.Alignment,
2258 Builder.Alignment,
2343 Builder.Alignment,
2481 OS << " Alignment:" << toBits(Info.getAlignment()) << "\n";