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 242 of file DebugInfo.h.

Constructor & Destructor Documentation

◆ VarRecord() [1/2]

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

Definition at line 246 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 248 of file DebugInfo.h.

References DL, and Var.

◆ operator<

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

Definition at line 249 of file DebugInfo.h.

References LHS, RHS, and VarRecord().

◆ operator==

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

Definition at line 252 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: