LLVM API Documentation
Classes | |
class | RuntimeFunction |
struct | EpilogueScope |
struct | ExceptionDataRecord |
Enumerations | |
enum | RuntimeFunctionFlag { RFF_Unpacked, RFF_Packed, RFF_PackedFragment, RFF_Reserved } |
enum | ReturnType { RT_POP, RT_B, RT_BW, RT_NoEpilogue } |
Functions | |
bool | PrologueFolding (const RuntimeFunction &RF) |
bool | EpilogueFolding (const RuntimeFunction &RF) |
uint16_t | StackAdjustment (const RuntimeFunction &RF) |
std::pair< uint16_t, uint32_t > | SavedRegisterMask (const RuntimeFunction &RF) |
size_t | HeaderWords (const ExceptionDataRecord &XR) |
RT_POP | |
RT_B |
return via pop {pc} (L flag must be set) |
RT_BW |
16-bit branch |
RT_NoEpilogue |
32-bit branch |
Definition at line 26 of file ARMWinEH.h.
RFF_Unpacked | |
RFF_Packed |
unpacked entry |
RFF_PackedFragment |
packed entry |
RFF_Reserved |
packed entry representing a fragment |
Definition at line 19 of file ARMWinEH.h.
bool llvm::ARM::WinEH::EpilogueFolding | ( | const RuntimeFunction & | RF | ) | [inline] |
Epilogue - pseudo-flag derived from Stack Adjust indicating that the epilogue has stack adjustment combined into the pop
Definition at line 191 of file ARMWinEH.h.
References llvm::ARM::WinEH::RuntimeFunction::StackAdjust().
size_t llvm::ARM::WinEH::HeaderWords | ( | const ExceptionDataRecord & | XR | ) | [inline] |
Definition at line 375 of file ARMWinEH.h.
References llvm::ARM::WinEH::ExceptionDataRecord::Data.
Referenced by llvm::ARM::WinEH::ExceptionDataRecord::CodeWords(), llvm::ARM::WinEH::ExceptionDataRecord::EpilogueCount(), llvm::ARM::WinEH::ExceptionDataRecord::EpilogueScopes(), llvm::ARM::WinEH::ExceptionDataRecord::ExceptionHandlerParameter(), llvm::ARM::WinEH::ExceptionDataRecord::ExceptionHandlerRVA(), and llvm::ARM::WinEH::ExceptionDataRecord::UnwindByteCode().
bool llvm::ARM::WinEH::PrologueFolding | ( | const RuntimeFunction & | RF | ) | [inline] |
PrologueFolding - pseudo-flag derived from Stack Adjust indicating that the prologue has stack adjustment combined into the push
Definition at line 186 of file ARMWinEH.h.
References llvm::ARM::WinEH::RuntimeFunction::StackAdjust().
Referenced by SavedRegisterMask().
std::pair< uint16_t, uint32_t > llvm::ARM::WinEH::SavedRegisterMask | ( | const RuntimeFunction & | RF | ) |
SavedRegisterMask - Utility function to calculate the set of saved general purpose (r0-r15) and VFP (d0-d31) registers.
Definition at line 16 of file ARMWinEH.cpp.
References llvm::ARM::WinEH::RuntimeFunction::C(), llvm::ARM::WinEH::RuntimeFunction::L(), PrologueFolding(), llvm::ARM::WinEH::RuntimeFunction::R(), llvm::ARM::WinEH::RuntimeFunction::Reg(), and llvm::ARM::WinEH::RuntimeFunction::StackAdjust().
uint16_t llvm::ARM::WinEH::StackAdjustment | ( | const RuntimeFunction & | RF | ) | [inline] |
StackAdjustment - calculated stack adjustment in words. The stack adjustment should be determined via this function to account for the special handling the special encoding when the value is >= 0x3f4.
Definition at line 197 of file ARMWinEH.h.
References llvm::ARM::WinEH::RuntimeFunction::StackAdjust().