LLVM: llvm::DbgVariable Class Reference (original) (raw)

This class is used to track local variable information.

Variables that have been optimized out hold the monostate alternative. This is not distinguished from the case of a constructed [DbgVariable](classllvm%5F1%5F1DbgVariable.html "This class is used to track local variable information.") which has not be initialized yet.

Variables can be created from allocas, in which case they're generated from the MMI table. Such variables hold the [Loc::MMI](structllvm%5F1%5F1Loc%5F1%5F1MMI.html "Single location defined by (potentially multiple) MMI entries.") alternative which can have multiple expressions and frame indices.

Variables can be created from the entry value of registers, in which case they're generated from the MMI table. Such variables hold the EntryValueLoc alternative which can either have a single expression or multiple fragment expressions.

Variables can be created from DBG_VALUE instructions. Those whose location changes over time hold a [Loc::Multi](classllvm%5F1%5F1Loc%5F1%5F1Multi.html "Multi-value location description.") alternative which uses DebugLocListIndex and (optionally) DebugLocListTagOffset, while those with a single location hold a [Loc::Single](classllvm%5F1%5F1Loc%5F1%5F1Single.html "Single value location description.") alternative which use ValueLoc and (optionally) a single Expr.

Definition at line 214 of file DwarfDebug.h.