LLVM
8.0.1
|
Classes | |
struct | EpilogueScope |
ExceptionDataRecord - An entry in the table of exception data (.xdata) More... | |
struct | ExceptionDataRecord |
class | RuntimeFunction |
RuntimeFunction - An entry in the table of procedure data (.pdata) More... | |
Functions | |
bool | PrologueFolding (const RuntimeFunction &RF) |
PrologueFolding - pseudo-flag derived from Stack Adjust indicating that the prologue has stack adjustment combined into the push. More... | |
bool | EpilogueFolding (const RuntimeFunction &RF) |
Epilogue - pseudo-flag derived from Stack Adjust indicating that the epilogue has stack adjustment combined into the pop. More... | |
uint16_t | StackAdjustment (const RuntimeFunction &RF) |
StackAdjustment - calculated stack adjustment in words. More... | |
std::pair< uint16_t, uint32_t > | SavedRegisterMask (const RuntimeFunction &RF) |
SavedRegisterMask - Utility function to calculate the set of saved general purpose (r0-r15) and VFP (d0-d31) registers. More... | |
size_t | HeaderWords (const ExceptionDataRecord &XR) |
|
strong |
Enumerator | |
---|---|
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.
|
strong |
Enumerator | |
---|---|
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.
|
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().
|
inline |
Definition at line 429 of file ARMWinEH.h.
References llvm::ARM::WinEH::ExceptionDataRecord::Data, and llvm::ARM::WinEH::ExceptionDataRecord::isAArch64.
Referenced by llvm::ARM::WinEH::ExceptionDataRecord::CodeWords(), llvm::ARM::WinEH::ExceptionDataRecord::EpilogueCount(), llvm::ARM::WinEH::ExceptionDataRecord::EpilogueScopes(), llvm::ARM::WinEH::EpilogueScope::EpilogueStartIndexAArch64(), llvm::ARM::WinEH::ExceptionDataRecord::ExceptionHandlerParameter(), llvm::ARM::WinEH::ExceptionDataRecord::ExceptionHandlerRVA(), and llvm::ARM::WinEH::ExceptionDataRecord::UnwindByteCode().
|
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().
Referenced by StackAdjustment().
|
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 SavedRegisterMask(), and llvm::ARM::WinEH::RuntimeFunction::StackAdjust().
Referenced by llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), and ExpandMOVImmSExti8().