Fragment representing the .cv_def_range directive.

Synopsis

Declared in <llvm/MC/MCSection.h>

class MCCVDefRangeFragment
    : public MCFragment

Base Classes

Name

Description

MCFragment

Contiguous piece of code or data within a section.

Enums

Name

Description

FragmentType

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

Member Functions

Name

Description

MCCVDefRangeFragment [constructor]

Construct a CodeView def‐range fragment.

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.

getFixedSizePortion

Return the fixed‐size trailing portion of this def‐range record.

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.

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.

getRanges

Return the address ranges covered by this def‐range record.

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

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

Name

Description

classof

Return true if F is an MCCVDefRangeFragment.

Protected Data Members

Name

Description

STI

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

Friends

Name

Description

llvm::CodeViewContext

CodeViewContext has the real knowledge about this format, so let it access our members.

Created with MrDocs