LLVM 22.0.0git
llvm::at::VarRecord Struct Reference

Helper struct for trackAssignments, below. More...

#include "llvm/IR/DebugInfo.h"

Public Member Functions

 VarRecord (DbgVariableRecord *DVR)
 VarRecord (DILocalVariable *Var, DILocation *DL)

Public Attributes

DILocalVariableVar
DILocationDL

Friends

bool operator< (const VarRecord &LHS, const VarRecord &RHS)
bool operator== (const VarRecord &LHS, const VarRecord &RHS)

Detailed Description

Helper struct for trackAssignments, below.

We don't use the similar DebugVariable class because trackAssignments doesn't (yet?) understand partial variables (fragment info) as input and want to make that clear and explicit using types. In addition, eventually we will want to understand expressions that modify the base address too, which a DebugVariable doesn't capture.

Definition at line 234 of file DebugInfo.h.

Constructor & Destructor Documentation

◆ VarRecord() [1/2]

llvm::at::VarRecord::VarRecord ( DbgVariableRecord * DVR)
inline

Definition at line 238 of file DebugInfo.h.

References DL, llvm::getDebugValueLoc(), and Var.

Referenced by operator<, and operator==.

◆ VarRecord() [2/2]

llvm::at::VarRecord::VarRecord ( DILocalVariable * Var,
DILocation * DL )
inline

Definition at line 240 of file DebugInfo.h.

References DL, and Var.

◆ operator<

bool operator< ( const VarRecord & LHS,
const VarRecord & RHS )
friend

Definition at line 241 of file DebugInfo.h.

References LHS, RHS, and VarRecord().

◆ operator==

bool operator== ( const VarRecord & LHS,
const VarRecord & RHS )
friend

Definition at line 244 of file DebugInfo.h.

References LHS, RHS, and VarRecord().

Member Data Documentation

◆ DL

DILocation* llvm::at::VarRecord::DL

◆ Var

DILocalVariable* llvm::at::VarRecord::Var

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