LLVM 22.0.0git
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
llvm::sframe Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  FDEInfo
 
struct  FrameRowEntry
 
struct  FREInfo
 
struct  FuncDescEntry
 
struct  Header
 
struct  Preamble
 

Typedefs

template<endianness E>
using FrameRowEntryAddr1 = FrameRowEntry< uint8_t, E >
 
template<endianness E>
using FrameRowEntryAddr2 = FrameRowEntry< uint16_t, E >
 
template<endianness E>
using FrameRowEntryAddr4 = FrameRowEntry< uint32_t, E >
 

Enumerations

enum class  Version : uint8_t { HANDLE_SFRAME_VERSION }
 
enum class  Flags : uint8_t { HANDLE_SFRAME_FLAG , V2AllFlags = FDESorted | FramePointer | FDEFuncStartPCRel , LLVM_MARK_AS_BITMASK_ENUM =(0xff) }
 
enum class  ABI : uint8_t { HANDLE_SFRAME_ABI }
 
enum class  FREType : uint8_t { HANDLE_SFRAME_FRE_TYPE }
 SFrame FRE Types. Bits 0-3 of FuncDescEntry.Info. More...
 
enum class  FDEType : uint8_t { HANDLE_SFRAME_FDE_TYPE }
 SFrame FDE Types. Bit 4 of FuncDescEntry.Info. More...
 
enum class  AArch64PAuthKey : uint8_t { HANDLE_SFRAME_AARCH64_PAUTH_KEY }
 Speficies key used for signing return addresses. More...
 
enum class  FREOffset : uint8_t { HANDLE_SFRAME_FRE_OFFSET }
 Size of stack offsets. Bits 6-7 of FREInfo.Info. More...
 
enum class  BaseReg : uint8_t { FP = 0 , SP = 1 }
 Stack frame base register. Bit 0 of FREInfo.Info. More...
 

Functions

 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 
LLVM_ABI ArrayRef< EnumEntry< Version > > getVersions ()
 
LLVM_ABI ArrayRef< EnumEntry< Flags > > getFlags ()
 
LLVM_ABI ArrayRef< EnumEntry< ABI > > getABIs ()
 
LLVM_ABI ArrayRef< EnumEntry< FREType > > getFRETypes ()
 
LLVM_ABI ArrayRef< EnumEntry< FDEType > > getFDETypes ()
 
LLVM_ABI ArrayRef< EnumEntry< AArch64PAuthKey > > getAArch64PAuthKeys ()
 
LLVM_ABI ArrayRef< EnumEntry< FREOffset > > getFREOffsets ()
 
LLVM_ABI ArrayRef< EnumEntry< BaseReg > > getBaseRegisters ()
 

Variables

constexpr uint16_t Magic = 0xdee2
 

Typedef Documentation

◆ FrameRowEntryAddr1

Definition at line 165 of file SFrame.h.

◆ FrameRowEntryAddr2

Definition at line 166 of file SFrame.h.

◆ FrameRowEntryAddr4

Definition at line 167 of file SFrame.h.

Enumeration Type Documentation

◆ AArch64PAuthKey

Speficies key used for signing return addresses.

Bit 5 of FuncDescEntry.Info.

Enumerator
HANDLE_SFRAME_AARCH64_PAUTH_KEY 

Definition at line 65 of file SFrame.h.

◆ ABI

enum class llvm::sframe::ABI : uint8_t
strong
Enumerator
HANDLE_SFRAME_ABI 

Definition at line 46 of file SFrame.h.

◆ BaseReg

enum class llvm::sframe::BaseReg : uint8_t
strong

Stack frame base register. Bit 0 of FREInfo.Info.

Enumerator
FP 
SP 

Definition at line 77 of file SFrame.h.

◆ FDEType

enum class llvm::sframe::FDEType : uint8_t
strong

SFrame FDE Types. Bit 4 of FuncDescEntry.Info.

Enumerator
HANDLE_SFRAME_FDE_TYPE 

Definition at line 58 of file SFrame.h.

◆ Flags

enum class llvm::sframe::Flags : uint8_t
strong
Enumerator
HANDLE_SFRAME_FLAG 
V2AllFlags 
LLVM_MARK_AS_BITMASK_ENUM 

Definition at line 39 of file SFrame.h.

◆ FREOffset

enum class llvm::sframe::FREOffset : uint8_t
strong

Size of stack offsets. Bits 6-7 of FREInfo.Info.

Enumerator
HANDLE_SFRAME_FRE_OFFSET 

Definition at line 71 of file SFrame.h.

◆ FREType

enum class llvm::sframe::FREType : uint8_t
strong

SFrame FRE Types. Bits 0-3 of FuncDescEntry.Info.

Enumerator
HANDLE_SFRAME_FRE_TYPE 

Definition at line 52 of file SFrame.h.

◆ Version

enum class llvm::sframe::Version : uint8_t
strong
Enumerator
HANDLE_SFRAME_VERSION 

Definition at line 34 of file SFrame.h.

Function Documentation

◆ getAArch64PAuthKeys()

ArrayRef< EnumEntry< sframe::AArch64PAuthKey > > llvm::sframe::getAArch64PAuthKeys ( )

Definition at line 55 of file SFrame.cpp.

◆ getABIs()

ArrayRef< EnumEntry< sframe::ABI > > llvm::sframe::getABIs ( )

Definition at line 31 of file SFrame.cpp.

◆ getBaseRegisters()

ArrayRef< EnumEntry< sframe::BaseReg > > llvm::sframe::getBaseRegisters ( )

Definition at line 72 of file SFrame.cpp.

◆ getFDETypes()

ArrayRef< EnumEntry< sframe::FDEType > > llvm::sframe::getFDETypes ( )

Definition at line 47 of file SFrame.cpp.

◆ getFlags()

ArrayRef< EnumEntry< sframe::Flags > > llvm::sframe::getFlags ( )

Definition at line 23 of file SFrame.cpp.

◆ getFREOffsets()

ArrayRef< EnumEntry< sframe::FREOffset > > llvm::sframe::getFREOffsets ( )

Definition at line 64 of file SFrame.cpp.

◆ getFRETypes()

ArrayRef< EnumEntry< sframe::FREType > > llvm::sframe::getFRETypes ( )

Definition at line 39 of file SFrame.cpp.

◆ getVersions()

ArrayRef< EnumEntry< sframe::Version > > llvm::sframe::getVersions ( )

Definition at line 14 of file SFrame.cpp.

◆ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

llvm::sframe::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ( )

Variable Documentation

◆ Magic

constexpr uint16_t llvm::sframe::Magic = 0xdee2
constexpr

Definition at line 32 of file SFrame.h.

Referenced by llvm::object::SFrameParser< E >::create().