LLVM 19.0.0git
Public Member Functions | List of all members
llvm::UnwindOpcodeAssembler Class Reference

#include "Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h"

Public Member Functions

 UnwindOpcodeAssembler ()
 
void Reset ()
 Reset the unwind opcode assembler.
 
void setPersonality (const MCSymbol *Per)
 Set the personality.
 
void EmitRegSave (uint32_t RegSave)
 Emit unwind opcodes for .save directives.
 
void EmitVFPRegSave (uint32_t VFPRegSave)
 Emit unwind opcodes for .vsave directives.
 
void EmitSetSP (uint16_t Reg)
 Emit unwind opcodes to copy address from source register to $sp.
 
void EmitSPOffset (int64_t Offset)
 Emit unwind opcodes to add $sp with an offset.
 
void EmitRaw (const SmallVectorImpl< uint8_t > &Opcodes)
 Emit unwind raw opcodes.
 
void Finalize (unsigned &PersonalityIndex, SmallVectorImpl< uint8_t > &Result)
 Finalize the unwind opcode sequence for emitBytes()
 

Detailed Description

Definition at line 25 of file ARMUnwindOpAsm.h.

Constructor & Destructor Documentation

◆ UnwindOpcodeAssembler()

llvm::UnwindOpcodeAssembler::UnwindOpcodeAssembler ( )
inline

Member Function Documentation

◆ EmitRaw()

void llvm::UnwindOpcodeAssembler::EmitRaw ( const SmallVectorImpl< uint8_t > &  Opcodes)
inline

◆ EmitRegSave()

void UnwindOpcodeAssembler::EmitRegSave ( uint32_t  RegSave)

◆ EmitSetSP()

void UnwindOpcodeAssembler::EmitSetSP ( uint16_t  Reg)

Emit unwind opcodes to copy address from source register to $sp.

Definition at line 130 of file ARMUnwindOpAsm.cpp.

References llvm::ARM::EHABI::UNWIND_OPCODE_SET_VSP.

◆ EmitSPOffset()

void UnwindOpcodeAssembler::EmitSPOffset ( int64_t  Offset)

◆ EmitVFPRegSave()

void UnwindOpcodeAssembler::EmitVFPRegSave ( uint32_t  VFPRegSave)

◆ Finalize()

void UnwindOpcodeAssembler::Finalize ( unsigned PersonalityIndex,
SmallVectorImpl< uint8_t > &  Result 
)

◆ Reset()

void llvm::UnwindOpcodeAssembler::Reset ( )
inline

Reset the unwind opcode assembler.

Definition at line 37 of file ARMUnwindOpAsm.h.

References llvm::SmallVectorImpl< T >::clear(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().

Referenced by Finalize().

◆ setPersonality()

void llvm::UnwindOpcodeAssembler::setPersonality ( const MCSymbol Per)
inline

Set the personality.

Definition at line 45 of file ARMUnwindOpAsm.h.


The documentation for this class was generated from the following files: