LLVM API Documentation

Classes | Enumerations | Functions
llvm::ARM::WinEH Namespace Reference

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)

Enumeration Type Documentation

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.

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.


Function Documentation

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