LLVM 23.0.0git
llvm::CodeViewDebug::LocalVarDef Struct Reference

#include "CodeGen/AsmPrinter/CodeViewDebug.h"

Public Member Functions

unsigned hashValue () const
bool operator== (const LocalVarDef &Other) const

Static Public Member Functions

static LocalVarDef emptyValue ()
static LocalVarDef tombstoneValue ()

Public Attributes

int InMemory: 1
 Indicates that variable data is stored in memory relative to the specified register.
int DataOffset: 31
 Offset of variable data in memory.
uint32_t IsSubfield: 1
 Non-zero if this is a piece of an aggregate.
uint32_t StructOffset: 15
 Offset into aggregate.
uint32_t CVRegister: 16
 Register containing the data or the register base of the memory location containing the data.
int32_t DerefOffset = NoDeref
 Offset to add after dereferencing CVRegister + DataOffset for indirect loads.

Static Public Attributes

static constexpr int32_t NoDeref = INT32_MIN
 Value for DerefOffset indicating this is not an indirect load.

Detailed Description

Definition at line 57 of file CodeViewDebug.h.

Member Function Documentation

◆ emptyValue()

LocalVarDef llvm::CodeViewDebug::LocalVarDef::emptyValue ( )
inlinestatic

◆ hashValue()

unsigned llvm::CodeViewDebug::LocalVarDef::hashValue ( ) const
inline

◆ operator==()

bool llvm::CodeViewDebug::LocalVarDef::operator== ( const LocalVarDef & Other) const
inline

Definition at line 104 of file CodeViewDebug.h.

References CVRegister, DataOffset, DerefOffset, InMemory, IsSubfield, llvm::Other, and StructOffset.

◆ tombstoneValue()

LocalVarDef llvm::CodeViewDebug::LocalVarDef::tombstoneValue ( )
inlinestatic

Member Data Documentation

◆ CVRegister

uint32_t llvm::CodeViewDebug::LocalVarDef::CVRegister

Register containing the data or the register base of the memory location containing the data.

Definition at line 73 of file CodeViewDebug.h.

Referenced by operator==().

◆ DataOffset

int llvm::CodeViewDebug::LocalVarDef::DataOffset

Offset of variable data in memory.

Definition at line 63 of file CodeViewDebug.h.

Referenced by operator==().

◆ DerefOffset

int32_t llvm::CodeViewDebug::LocalVarDef::DerefOffset = NoDeref

Offset to add after dereferencing CVRegister + DataOffset for indirect loads.

If this is not an indirect load, it's set to NoDeref.

Definition at line 80 of file CodeViewDebug.h.

Referenced by hashValue(), and operator==().

◆ InMemory

int llvm::CodeViewDebug::LocalVarDef::InMemory

Indicates that variable data is stored in memory relative to the specified register.

Definition at line 60 of file CodeViewDebug.h.

Referenced by operator==().

◆ IsSubfield

uint32_t llvm::CodeViewDebug::LocalVarDef::IsSubfield

Non-zero if this is a piece of an aggregate.

Definition at line 66 of file CodeViewDebug.h.

Referenced by operator==().

◆ NoDeref

int32_t llvm::CodeViewDebug::LocalVarDef::NoDeref = INT32_MIN
staticconstexpr

Value for DerefOffset indicating this is not an indirect load.

Definition at line 76 of file CodeViewDebug.h.

◆ StructOffset

uint32_t llvm::CodeViewDebug::LocalVarDef::StructOffset

Offset into aggregate.

Definition at line 69 of file CodeViewDebug.h.

Referenced by operator==().


The documentation for this struct was generated from the following file: