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

Detailed Description

Definition at line 26 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 128 of file ARMUnwindOpAsm.cpp.

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

Referenced by setPersonality().

◆ 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 38 of file ARMUnwindOpAsm.h.

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

◆ setPersonality()

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

Set the personality.

Definition at line 46 of file ARMUnwindOpAsm.h.

References EmitRegSave(), EmitSetSP(), EmitSPOffset(), EmitVFPRegSave(), and Reg.


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