LLVM  7.0.0svn
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 ( )

Member Function Documentation

◆ EmitRaw()

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

◆ 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.


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 ( )

Reset the unwind opcode assembler.

Definition at line 38 of file ARMUnwindOpAsm.h.

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

◆ setPersonality()

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

Set the personality.

Definition at line 46 of file ARMUnwindOpAsm.h.

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

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