llvm::MCBoundaryAlignFragment

Padding fragment that keeps a following fragment set within one alignment boundary.

Synopsis

Declared in <llvm/MC/MCSection.h>

class MCBoundaryAlignFragment
    : public MCFragment

Description

Represents required padding such that a particular other set of fragments does not cross a particular power-of-two boundary. The other fragments must follow this one within the same section.

Base Classes

NameDescription
MCFragmentContiguous piece of code or data within a section.

Enums

NameDescription
FragmentType Discriminator for the kind of data or metadata this fragment encodes.

Member Functions

NameDescription
MCBoundaryAlignFragment [constructor]Construct a boundary-align fragment for AlignBoundary.
operator= [deleted]Deleted copy assignment.
addFixup Append a single fixup for the fixed-size part of this fragment.
appendFixups Append fixups for the fixed-size part of this fragment.
clearFixups Clear all fixups stored for this fragment.
clearVarContents Clear the variable-size content tail of this fragment.
clearVarFixups Clear fixups for the variable-size content tail.
dump Print a human-readable description of this fragment to stderr.
getAlignFill Return the fill value used for alignment padding.
getAlignFillLen Return the size in bytes of the alignment fill value.
getAlignMaxBytesToEmit Return the maximum number of padding bytes this align fragment may emit.
getAlignment Return the alignment boundary that must not be crossed.
getAllowAutoPadding Return true if x86 auto-padding is allowed for this relaxable fragment.
getAtom Return the atom (defining symbol) for this fragment, if any.
getContents getContents overloads
getDwarfAddrDelta Return the address-delta expression for this DWARF fragment.
getDwarfLineDelta Return the line-number delta encoded in this FT_Dwarf fragment.
getFixedSize Return the size in bytes of the fixed-size content region.
getFixups getFixups overloads
getInst Return the relaxable instruction stored in this fragment.
getKind Return the kind discriminator for this fragment.
getLEBValue Return the expression encoded by this LEB fragment.
getLastFragment Return the last fragment in the aligned set, or null if unset.
getLayoutOrder Return the layout order of this fragment within its section.
getNext Return the next fragment in the section, or null if this is the last.
getOpcode Return the opcode of the relaxable instruction in this fragment.
getOperands Return the operands of the relaxable instruction in this fragment.
getParent Return the section that owns this fragment, or null if unattached.
getPrefAlignComputed Return the alignment computed during relaxation for this fragment.
getPrefAlignEmitNops Return true if preferred-alignment padding is filled with target NOPs.
getPrefAlignEnd Return the end symbol of this preferred-alignment region.
getPrefAlignFill Return the fill byte used when preferred-alignment padding is not NOPs.
getPrefAlignPreferred Return the preferred alignment for this FT_PrefAlign fragment.
getSFrameAddrDelta Return the address-delta expression for this FT_SFrame fragment.
getSFrameFDE Return the FDE fragment that records how many AddrDelta bytes to emit.
getSize Return the lazily computed size of this padding fragment.
getSubtargetInfo Retrieve the MCSubTargetInfo in effect when the instruction was encoded. Guaranteed to be non-null if hasInstructions() == true
getVarContents getVarContents overloads
getVarFixups getVarFixups overloads
getVarSize Return the size in bytes of the variable-size content region.
hasAlignEmitNops Return true if alignment padding is filled with target NOP instructions.
hasInstructions Does this fragment have instructions emitted into it? By default this is false, but specific fragment types may set it to true.
insertRelocFixups Insert .reloc fixups using assembler layout ordering rules.
isAlignToEnd Return whether the last instruction is aligned to the end of this fragment.
isLEBSigned Return true if this LEB fragment uses signed (SLEB128) encoding.
isLinkerRelaxable Return true if this fragment may be resized by linker relaxation.
makeAlign Initialize this fragment as alignment padding with the given fill policy.
makeLEB Convert this data fragment into an LEB128 encoding of Value.
makePrefAlign Initialize this fragment as preferred-alignment padding ending at End.
moveFixupsToEnd Move this fragment's fixups to the end of the parent's fixup storage.
setAlignToEnd Set whether the last instruction is aligned to the end of this fragment.
setAlignment Set the alignment boundary that must not be crossed.
setAllowAutoPadding Set whether x86 auto-padding is allowed for this relaxable fragment.
setDwarfAddrDelta Set the address-delta expression for this DWARF fragment.
setDwarfLineDelta Set the line-number delta encoded in this FT_Dwarf fragment.
setHasInstructions Record that the fragment contains instructions with the MCSubtargetInfo in effect when the instruction was encoded.
setInst Replace the relaxable instruction stored in this fragment.
setLEBValue Set the expression encoded by this LEB fragment.
setLastFragment Set the last fragment in the aligned set.
setLayoutOrder Set the layout order of this fragment within its section.
setLinkerRelaxable Mark this fragment as subject to linker relaxation.
setParent Set the section that owns this fragment.
setPrefAlignComputed Set the computed alignment for this FT_PrefAlign fragment.
setSFrameAddrDelta Set the address-delta expression for this FT_SFrame fragment.
setSFrameFDE Set the FDE fragment that records how many AddrDelta bytes to emit.
setSize Set the size of this padding fragment.
setVarContents Replace the variable-size content tail of this fragment.
setVarFixups Replace fixups for the variable-size content tail.

Static Member Functions

NameDescription
classof Return true if F is an MCBoundaryAlignFragment.

Protected Data Members

NameDescription
STI Subtarget info in effect when instructions in this fragment were encoded.