llvm::MCFillFragment

Fragment that fills a region with a repeated value (.fill / .space).

Synopsis

Declared in <llvm/MC/MCSection.h>

class MCFillFragment
    : public MCFragment

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
MCFillFragment [constructor]Construct a fill fragment repeating Value for NumValues units.
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 this FT_Align fragment ensures.
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.
getLayoutOrder Return the layout order of this fragment within its section.
getLoc Return the source location of the fill directive.
getNext Return the next fragment in the section, or null if this is the last.
getNumValues Return the expression for how many value units to emit.
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 total size in bytes of fixed and variable content.
getSubtargetInfo Retrieve the MCSubTargetInfo in effect when the instruction was encoded. Guaranteed to be non-null if hasInstructions() == true
getValue Return the fill pattern value.
getValueSize Return the size in bytes of each fill value unit.
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.
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.
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.
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.
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 MCFillFragment.

Protected Data Members

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