class MCCFIInstruction
Declaration
class MCCFIInstruction { /* full declaration omitted */ };
Declared at: llvm/include/llvm/MC/MCDwarf.h:478
Member Variables
- private llvm::MCCFIInstruction::OpType Operation
- private llvm::MCSymbol* Label
- private unsigned int Register
- private anonymous struct / union
- private unsigned int AddressSpace
- private std::vector<char> Values
- private std::string Comment
Method Overview
- private MCCFIInstruction(llvm::MCCFIInstruction::OpType Op, llvm::MCSymbol * L, unsigned int R1, unsigned int R2)
- private MCCFIInstruction(llvm::MCCFIInstruction::OpType Op, llvm::MCSymbol * L, unsigned int R, int O, unsigned int AS)
- private MCCFIInstruction(llvm::MCCFIInstruction::OpType Op, llvm::MCSymbol * L, unsigned int R, int O, llvm::StringRef V, llvm::StringRef Comment = "")
- public static llvm::MCCFIInstruction cfiDefCfa(llvm::MCSymbol * L, unsigned int Register, int Offset)
- public static llvm::MCCFIInstruction cfiDefCfaOffset(llvm::MCSymbol * L, int Offset)
- public static llvm::MCCFIInstruction createAdjustCfaOffset(llvm::MCSymbol * L, int Adjustment)
- public static llvm::MCCFIInstruction createDefCfaRegister(llvm::MCSymbol * L, unsigned int Register)
- public static llvm::MCCFIInstruction createEscape(llvm::MCSymbol * L, llvm::StringRef Vals, llvm::StringRef Comment = "")
- public static llvm::MCCFIInstruction createGnuArgsSize(llvm::MCSymbol * L, int Size)
- public static llvm::MCCFIInstruction createLLVMDefAspaceCfa(llvm::MCSymbol * L, unsigned int Register, int Offset, unsigned int AddressSpace)
- public static llvm::MCCFIInstruction createNegateRAState(llvm::MCSymbol * L)
- public static llvm::MCCFIInstruction createOffset(llvm::MCSymbol * L, unsigned int Register, int Offset)
- public static llvm::MCCFIInstruction createRegister(llvm::MCSymbol * L, unsigned int Register1, unsigned int Register2)
- public static llvm::MCCFIInstruction createRelOffset(llvm::MCSymbol * L, unsigned int Register, int Offset)
- public static llvm::MCCFIInstruction createRememberState(llvm::MCSymbol * L)
- public static llvm::MCCFIInstruction createRestore(llvm::MCSymbol * L, unsigned int Register)
- public static llvm::MCCFIInstruction createRestoreState(llvm::MCSymbol * L)
- public static llvm::MCCFIInstruction createSameValue(llvm::MCSymbol * L, unsigned int Register)
- public static llvm::MCCFIInstruction createUndefined(llvm::MCSymbol * L, unsigned int Register)
- public static llvm::MCCFIInstruction createWindowSave(llvm::MCSymbol * L)
- public unsigned int getAddressSpace() const
- public llvm::StringRef getComment() const
- public llvm::MCSymbol * getLabel() const
- public int getOffset() const
- public llvm::MCCFIInstruction::OpType getOperation() const
- public unsigned int getRegister() const
- public unsigned int getRegister2() const
- public llvm::StringRef getValues() const
Methods
¶MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R1,
unsigned int R2)
MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R1,
unsigned int R2)
Declared at: llvm/include/llvm/MC/MCDwarf.h:519
Parameters
- llvm::MCCFIInstruction::OpType Op
- llvm::MCSymbol* L
- unsigned int R1
- unsigned int R2
¶MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R,
int O,
unsigned int AS)
MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R,
int O,
unsigned int AS)
Declared at: llvm/include/llvm/MC/MCDwarf.h:524
Parameters
- llvm::MCCFIInstruction::OpType Op
- llvm::MCSymbol* L
- unsigned int R
- int O
- unsigned int AS
¶MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R,
int O,
llvm::StringRef V,
llvm::StringRef Comment = "")
MCCFIInstruction(
llvm::MCCFIInstruction::OpType Op,
llvm::MCSymbol* L,
unsigned int R,
int O,
llvm::StringRef V,
llvm::StringRef Comment = "")
Declared at: llvm/include/llvm/MC/MCDwarf.h:512
Parameters
- llvm::MCCFIInstruction::OpType Op
- llvm::MCSymbol* L
- unsigned int R
- int O
- llvm::StringRef V
- llvm::StringRef Comment = ""
¶static llvm::MCCFIInstruction cfiDefCfa(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
static llvm::MCCFIInstruction cfiDefCfa(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
Description
.cfi_def_cfa defines a rule for computing CFA as: take address from Register and add Offset to it.
Declared at: llvm/include/llvm/MC/MCDwarf.h:532
Parameters
- llvm::MCSymbol* L
- unsigned int Register
- int Offset
¶static llvm::MCCFIInstruction cfiDefCfaOffset(
llvm::MCSymbol* L,
int Offset)
static llvm::MCCFIInstruction cfiDefCfaOffset(
llvm::MCSymbol* L,
int Offset)
Description
.cfi_def_cfa_offset modifies a rule for computing CFA. Register remains the same, but offset is new. Note that it is the absolute offset that will be added to a defined register to the compute CFA address.
Declared at: llvm/include/llvm/MC/MCDwarf.h:546
Parameters
- llvm::MCSymbol* L
- int Offset
¶static llvm::MCCFIInstruction
createAdjustCfaOffset(llvm::MCSymbol* L,
int Adjustment)
static llvm::MCCFIInstruction
createAdjustCfaOffset(llvm::MCSymbol* L,
int Adjustment)
Description
.cfi_adjust_cfa_offset Same as .cfi_def_cfa_offset, but Offset is a relative value that is added/subtracted from the previous offset.
Declared at: llvm/include/llvm/MC/MCDwarf.h:553
Parameters
- llvm::MCSymbol* L
- int Adjustment
¶static llvm::MCCFIInstruction
createDefCfaRegister(llvm::MCSymbol* L,
unsigned int Register)
static llvm::MCCFIInstruction
createDefCfaRegister(llvm::MCSymbol* L,
unsigned int Register)
Description
.cfi_def_cfa_register modifies a rule for computing CFA. From now on Register will be used instead of the old one. Offset remains the same.
Declared at: llvm/include/llvm/MC/MCDwarf.h:539
Parameters
- llvm::MCSymbol* L
- unsigned int Register
¶static llvm::MCCFIInstruction createEscape(
llvm::MCSymbol* L,
llvm::StringRef Vals,
llvm::StringRef Comment = "")
static llvm::MCCFIInstruction createEscape(
llvm::MCSymbol* L,
llvm::StringRef Vals,
llvm::StringRef Comment = "")
Description
.cfi_escape Allows the user to add arbitrary bytes to the unwind info.
Declared at: llvm/include/llvm/MC/MCDwarf.h:631
Parameters
- llvm::MCSymbol* L
- llvm::StringRef Vals
- llvm::StringRef Comment = ""
¶static llvm::MCCFIInstruction createGnuArgsSize(
llvm::MCSymbol* L,
int Size)
static llvm::MCCFIInstruction createGnuArgsSize(
llvm::MCSymbol* L,
int Size)
Description
A special wrapper for .cfi_escape that indicates GNU_ARGS_SIZE
Declared at: llvm/include/llvm/MC/MCDwarf.h:637
Parameters
- llvm::MCSymbol* L
- int Size
¶static llvm::MCCFIInstruction
createLLVMDefAspaceCfa(llvm::MCSymbol* L,
unsigned int Register,
int Offset,
unsigned int AddressSpace)
static llvm::MCCFIInstruction
createLLVMDefAspaceCfa(llvm::MCSymbol* L,
unsigned int Register,
int Offset,
unsigned int AddressSpace)
Description
.cfi_llvm_def_aspace_cfa defines the rule for computing the CFA to be the result of evaluating the DWARF operation expression `DW_OP_constu AS; DW_OP_aspace_bregx R, B` as a location description.
Declared at: llvm/include/llvm/MC/MCDwarf.h:561
Parameters
- llvm::MCSymbol* L
- unsigned int Register
- int Offset
- unsigned int AddressSpace
¶static llvm::MCCFIInstruction createNegateRAState(
llvm::MCSymbol* L)
static llvm::MCCFIInstruction createNegateRAState(
llvm::MCSymbol* L)
Description
.cfi_negate_ra_state AArch64 negate RA state.
Declared at: llvm/include/llvm/MC/MCDwarf.h:596
Parameters
¶static llvm::MCCFIInstruction createOffset(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
static llvm::MCCFIInstruction createOffset(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
Description
.cfi_offset Previous value of Register is saved at offset Offset from CFA.
Declared at: llvm/include/llvm/MC/MCDwarf.h:570
Parameters
- llvm::MCSymbol* L
- unsigned int Register
- int Offset
¶static llvm::MCCFIInstruction createRegister(
llvm::MCSymbol* L,
unsigned int Register1,
unsigned int Register2)
static llvm::MCCFIInstruction createRegister(
llvm::MCSymbol* L,
unsigned int Register1,
unsigned int Register2)
Description
.cfi_register Previous value of Register1 is saved in register Register2.
Declared at: llvm/include/llvm/MC/MCDwarf.h:585
Parameters
- llvm::MCSymbol* L
- unsigned int Register1
- unsigned int Register2
¶static llvm::MCCFIInstruction createRelOffset(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
static llvm::MCCFIInstruction createRelOffset(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
Description
.cfi_rel_offset Previous value of Register is saved at offset Offset from the current CFA register. This is transformed to .cfi_offset using the known displacement of the CFA register from the CFA.
Declared at: llvm/include/llvm/MC/MCDwarf.h:578
Parameters
- llvm::MCSymbol* L
- unsigned int Register
- int Offset
¶static llvm::MCCFIInstruction createRememberState(
llvm::MCSymbol* L)
static llvm::MCCFIInstruction createRememberState(
llvm::MCSymbol* L)
Description
.cfi_remember_state Save all current rules for all registers.
Declared at: llvm/include/llvm/MC/MCDwarf.h:620
Parameters
¶static llvm::MCCFIInstruction createRestore(
llvm::MCSymbol* L,
unsigned int Register)
static llvm::MCCFIInstruction createRestore(
llvm::MCSymbol* L,
unsigned int Register)
Description
.cfi_restore says that the rule for Register is now the same as it was at the beginning of the function, after all initial instructions added by .cfi_startproc were executed.
Declared at: llvm/include/llvm/MC/MCDwarf.h:603
Parameters
- llvm::MCSymbol* L
- unsigned int Register
¶static llvm::MCCFIInstruction createRestoreState(
llvm::MCSymbol* L)
static llvm::MCCFIInstruction createRestoreState(
llvm::MCSymbol* L)
Description
.cfi_restore_state Restore the previously saved state.
Declared at: llvm/include/llvm/MC/MCDwarf.h:625
Parameters
¶static llvm::MCCFIInstruction createSameValue(
llvm::MCSymbol* L,
unsigned int Register)
static llvm::MCCFIInstruction createSameValue(
llvm::MCSymbol* L,
unsigned int Register)
Description
.cfi_same_value Current value of Register is the same as in the previous frame. I.e., no restoration is needed.
Declared at: llvm/include/llvm/MC/MCDwarf.h:615
Parameters
- llvm::MCSymbol* L
- unsigned int Register
¶static llvm::MCCFIInstruction createUndefined(
llvm::MCSymbol* L,
unsigned int Register)
static llvm::MCCFIInstruction createUndefined(
llvm::MCSymbol* L,
unsigned int Register)
Description
.cfi_undefined From now on the previous value of Register can't be restored anymore.
Declared at: llvm/include/llvm/MC/MCDwarf.h:609
Parameters
- llvm::MCSymbol* L
- unsigned int Register
¶static llvm::MCCFIInstruction createWindowSave(
llvm::MCSymbol* L)
static llvm::MCCFIInstruction createWindowSave(
llvm::MCSymbol* L)
Description
.cfi_window_save SPARC register window is saved.
Declared at: llvm/include/llvm/MC/MCDwarf.h:591
Parameters
¶unsigned int getAddressSpace() const
unsigned int getAddressSpace() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:658
¶llvm::StringRef getComment() const
llvm::StringRef getComment() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:676
¶llvm::MCSymbol* getLabel() const
llvm::MCSymbol* getLabel() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:642
¶int getOffset() const
int getOffset() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:663
¶llvm::MCCFIInstruction::OpType getOperation()
const
llvm::MCCFIInstruction::OpType getOperation()
const
Declared at: llvm/include/llvm/MC/MCDwarf.h:641
¶unsigned int getRegister() const
unsigned int getRegister() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:644
¶unsigned int getRegister2() const
unsigned int getRegister2() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:653
¶llvm::StringRef getValues() const
llvm::StringRef getValues() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:671