LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::LayoutAlignElem Struct Reference

Layout alignment element. More...

#include <DataLayout.h>

Collaboration diagram for llvm::LayoutAlignElem:
[legend]

Public Member Functions

bool operator== (const LayoutAlignElem &rhs) const
 

Static Public Member Functions

static LayoutAlignElem get (AlignTypeEnum align_type, unsigned abi_align, unsigned pref_align, uint32_t bit_width)
 

Public Attributes

unsigned AlignType: 8
 Alignment type from AlignTypeEnum. More...
 
unsigned TypeBitWidth: 24
 
unsigned ABIAlign: 16
 
unsigned PrefAlign: 16
 

Detailed Description

Layout alignment element.

Stores the alignment data associated with a given alignment type (integer, vector, float) and type bit width.

Note
The unusual order of elements in the structure attempts to reduce padding and make the structure slightly more cache friendly.

Definition at line 66 of file DataLayout.h.

Member Function Documentation

LayoutAlignElem LayoutAlignElem::get ( AlignTypeEnum  align_type,
unsigned  abi_align,
unsigned  pref_align,
uint32_t  bit_width 
)
static

Definition at line 102 of file DataLayout.cpp.

References ABIAlign, AlignType, assert(), PrefAlign, and TypeBitWidth.

bool LayoutAlignElem::operator== ( const LayoutAlignElem rhs) const

Definition at line 114 of file DataLayout.cpp.

References ABIAlign, AlignType, PrefAlign, and TypeBitWidth.

Member Data Documentation

unsigned llvm::LayoutAlignElem::ABIAlign

Definition at line 70 of file DataLayout.h.

Referenced by get(), and operator==().

unsigned llvm::LayoutAlignElem::AlignType

Alignment type from AlignTypeEnum.

Definition at line 68 of file DataLayout.h.

Referenced by get(), and operator==().

unsigned llvm::LayoutAlignElem::PrefAlign

Definition at line 71 of file DataLayout.h.

Referenced by get(), and operator==().

unsigned llvm::LayoutAlignElem::TypeBitWidth

Definition at line 69 of file DataLayout.h.

Referenced by get(), and operator==().


The documentation for this struct was generated from the following files: