LLVM 22.0.0git
llvm::MachineFunction::VariableDbgInfo Class Reference

Description of the location of a variable whose Address is valid and unchanging during function execution. More...

#include "llvm/CodeGen/MachineFunction.h"

Public Member Functions

 VariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, int Slot, const DILocation *Loc)
 VariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, MCRegister EntryValReg, const DILocation *Loc)
bool inStackSlot () const
 Return true if this variable is in a stack slot.
bool inEntryValueRegister () const
 Return true if this variable is in the entry value of a register.
int getStackSlot () const
 Returns the stack slot of this variable, assuming inStackSlot() is true.
MCRegister getEntryValueRegister () const
 Returns the MCRegister of this variable, assuming inEntryValueRegister() is true.
void updateStackSlot (int NewSlot)
 Updates the stack slot of this variable, assuming inStackSlot() is true.

Public Attributes

const DILocalVariableVar
const DIExpressionExpr
const DILocationLoc

Detailed Description

Description of the location of a variable whose Address is valid and unchanging during function execution.

The Address may be:

  • A stack index, which can be negative for fixed stack objects.
  • A MCRegister, whose entry value contains the address of the variable.

Definition at line 446 of file MachineFunction.h.

Constructor & Destructor Documentation

◆ VariableDbgInfo() [1/2]

llvm::MachineFunction::VariableDbgInfo::VariableDbgInfo ( const DILocalVariable * Var,
const DIExpression * Expr,
int Slot,
const DILocation * Loc )
inline

Definition at line 454 of file MachineFunction.h.

References Expr, Loc, and Var.

◆ VariableDbgInfo() [2/2]

llvm::MachineFunction::VariableDbgInfo::VariableDbgInfo ( const DILocalVariable * Var,
const DIExpression * Expr,
MCRegister EntryValReg,
const DILocation * Loc )
inline

Definition at line 458 of file MachineFunction.h.

References Expr, Loc, and Var.

Member Function Documentation

◆ getEntryValueRegister()

MCRegister llvm::MachineFunction::VariableDbgInfo::getEntryValueRegister ( ) const
inline

Returns the MCRegister of this variable, assuming inEntryValueRegister() is true.

Definition at line 476 of file MachineFunction.h.

◆ getStackSlot()

int llvm::MachineFunction::VariableDbgInfo::getStackSlot ( ) const
inline

Returns the stack slot of this variable, assuming inStackSlot() is true.

Definition at line 472 of file MachineFunction.h.

◆ inEntryValueRegister()

bool llvm::MachineFunction::VariableDbgInfo::inEntryValueRegister ( ) const
inline

Return true if this variable is in the entry value of a register.

Definition at line 466 of file MachineFunction.h.

◆ inStackSlot()

bool llvm::MachineFunction::VariableDbgInfo::inStackSlot ( ) const
inline

Return true if this variable is in a stack slot.

Definition at line 463 of file MachineFunction.h.

Referenced by updateStackSlot().

◆ updateStackSlot()

void llvm::MachineFunction::VariableDbgInfo::updateStackSlot ( int NewSlot)
inline

Updates the stack slot of this variable, assuming inStackSlot() is true.

Definition at line 482 of file MachineFunction.h.

References assert(), and inStackSlot().

Member Data Documentation

◆ Expr

const DIExpression* llvm::MachineFunction::VariableDbgInfo::Expr

Definition at line 451 of file MachineFunction.h.

Referenced by printStackObjectDbgInfo(), VariableDbgInfo(), and VariableDbgInfo().

◆ Loc

const DILocation* llvm::MachineFunction::VariableDbgInfo::Loc

Definition at line 452 of file MachineFunction.h.

Referenced by printStackObjectDbgInfo(), VariableDbgInfo(), and VariableDbgInfo().

◆ Var

const DILocalVariable* llvm::MachineFunction::VariableDbgInfo::Var

Definition at line 450 of file MachineFunction.h.

Referenced by printStackObjectDbgInfo(), VariableDbgInfo(), and VariableDbgInfo().


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