class MCCFIInstruction
Declaration
class MCCFIInstruction { /* full declaration omitted */ };
Declared at: llvm/include/llvm/MC/MCDwarf.h:435
Method Overview
- public static llvm::MCCFIInstruction createAdjustCfaOffset(llvm::MCSymbol * L, int Adjustment)
- public static llvm::MCCFIInstruction createDefCfa(llvm::MCSymbol * L, unsigned int Register, int Offset)
- public static llvm::MCCFIInstruction createDefCfaOffset(llvm::MCSymbol * L, int Offset)
- public static llvm::MCCFIInstruction createDefCfaRegister(llvm::MCSymbol * L, unsigned int Register)
- public static llvm::MCCFIInstruction createEscape(llvm::MCSymbol * L, llvm::StringRef Vals)
- public static llvm::MCCFIInstruction createGnuArgsSize(llvm::MCSymbol * L, int Size)
- 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 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
¶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:501
Parameters
- llvm::MCSymbol* L
- int Adjustment
¶static llvm::MCCFIInstruction createDefCfa(
llvm::MCSymbol* L,
unsigned int Register,
int Offset)
static llvm::MCCFIInstruction createDefCfa(
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:480
Parameters
- llvm::MCSymbol* L
- unsigned int Register
- int Offset
¶static llvm::MCCFIInstruction createDefCfaOffset(
llvm::MCSymbol* L,
int Offset)
static llvm::MCCFIInstruction createDefCfaOffset(
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:494
Parameters
- llvm::MCSymbol* L
- int Offset
¶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:487
Parameters
- llvm::MCSymbol* L
- unsigned int Register
¶static llvm::MCCFIInstruction createEscape(
llvm::MCSymbol* L,
llvm::StringRef Vals)
static llvm::MCCFIInstruction createEscape(
llvm::MCSymbol* L,
llvm::StringRef Vals)
Description
.cfi_escape Allows the user to add arbitrary bytes to the unwind info.
Declared at: llvm/include/llvm/MC/MCDwarf.h:568
Parameters
- llvm::MCSymbol* L
- llvm::StringRef Vals
¶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:573
Parameters
- llvm::MCSymbol* L
- int Size
¶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:533
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:507
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:522
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:515
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:557
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:540
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:562
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:552
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:546
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:528
Parameters
¶llvm::MCSymbol* getLabel() const
llvm::MCSymbol* getLabel() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:578
¶int getOffset() const
int getOffset() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:593
¶llvm::MCCFIInstruction::OpType getOperation()
const
llvm::MCCFIInstruction::OpType getOperation()
const
Declared at: llvm/include/llvm/MC/MCDwarf.h:577
¶unsigned int getRegister() const
unsigned int getRegister() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:580
¶unsigned int getRegister2() const
unsigned int getRegister2() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:588
¶llvm::StringRef getValues() const
llvm::StringRef getValues() const
Declared at: llvm/include/llvm/MC/MCDwarf.h:600