|
LLVM 23.0.0git
|
Record of a variable value-assignment, aka a non instruction representation of the dbg.value intrinsic. More...
#include "llvm/IR/DebugProgramInstruction.h"
Classes | |
| class | location_op_iterator |
| Iterator for ValueAsMetadata that internally uses direct pointer iteration over either a ValueAsMetadata* or a ValueAsMetadata**, dereferencing to the ValueAsMetadata . More... | |
Public Types | |
| enum class | LocationType : uint8_t { Declare , Value , Assign , DeclareValue , End , Any } |
| Public Types inherited from llvm::DbgRecord | |
| enum | Kind : uint8_t { ValueKind , LabelKind } |
| Subclass discriminator. More... | |
| using | self_iterator = simple_ilist<DbgRecord>::iterator |
| using | const_self_iterator = simple_ilist<DbgRecord>::const_iterator |
Public Attributes | |
| LocationType | Type |
| Classification of the debug-info record that this DbgVariableRecord represents. | |
| DbgRecordParamRef< DILocalVariable > | Variable |
| DbgRecordParamRef< DIExpression > | Expression |
| DbgRecordParamRef< DIExpression > | AddressExpression |
| Public Attributes inherited from llvm::DbgRecord | |
| DbgMarker * | Marker = nullptr |
| Marker that this DbgRecord is linked into. | |
Friends | |
| class | DebugValueUser |
Record of a variable value-assignment, aka a non instruction representation of the dbg.value intrinsic.
This class inherits from DebugValueUser to allow LLVM's metadata facilities to update our references to metadata beneath our feet.
Definition at line 276 of file DebugProgramInstruction.h.
|
strong |
| Enumerator | |
|---|---|
| Declare | |
| Value | |
| Assign | |
| DeclareValue | |
| End | Marks the end of the concrete types. |
| Any | To indicate all LocationTypes in searches. |
Definition at line 280 of file DebugProgramInstruction.h.
| DbgVariableRecord::DbgVariableRecord | ( | const DbgVariableIntrinsic * | DVI | ) |
Create a new DbgVariableRecord representing the intrinsic DVI, for example the assignment represented by a dbg.value.
Definition at line 34 of file DebugProgramInstruction.cpp.
References llvm::DbgRecord::DbgRecord(), DebugValueUser, llvm::DbgRecord::getDebugLoc(), llvm::DbgVariableIntrinsic::getRawLocation(), and llvm::DbgRecord::ValueKind.
Referenced by clone(), createDbgVariableRecord(), createDbgVariableRecord(), createDVRAssign(), createDVRDeclare(), createDVRDeclare(), createDVRDeclareValue(), createDVRDeclareValue(), createLinkedDVRAssign(), createUnresolvedDbgVariableRecord(), DbgVariableRecord(), isEquivalentTo(), and isIdenticalToWhenDefined().
| DbgVariableRecord::DbgVariableRecord | ( | const DbgVariableRecord & | DVR | ) |
Definition at line 61 of file DebugProgramInstruction.cpp.
References AddressExpression, llvm::DbgRecord::DbgRecord(), DbgVariableRecord(), llvm::DebugValueUser::DebugValues, DebugValueUser, Expression, llvm::DbgRecord::getDebugLoc(), getExpression(), getType(), getVariable(), Type, llvm::DbgRecord::ValueKind, and Variable.
| DbgVariableRecord::DbgVariableRecord | ( | Metadata * | Location, |
| DILocalVariable * | DV, | ||
| DIExpression * | Expr, | ||
| const DILocation * | DI, | ||
| LocationType | Type = LocationType::Value ) |
Directly construct a new DbgVariableRecord representing a dbg.value intrinsic assigning Location to the DV / Expr / DI variable.
Definition at line 67 of file DebugProgramInstruction.cpp.
References llvm::DbgRecord::DbgRecord(), DebugValueUser, Type, and llvm::DbgRecord::ValueKind.
| DbgVariableRecord::DbgVariableRecord | ( | Metadata * | Value, |
| DILocalVariable * | Variable, | ||
| DIExpression * | Expression, | ||
| DIAssignID * | AssignID, | ||
| Metadata * | Address, | ||
| DIExpression * | AddressExpression, | ||
| const DILocation * | DI ) |
Definition at line 73 of file DebugProgramInstruction.cpp.
References llvm::Address, AddressExpression, llvm::DbgRecord::DbgRecord(), DebugValueUser, Expression, Value, llvm::DbgRecord::ValueKind, and Variable.
| void DbgVariableRecord::addVariableLocationOps | ( | ArrayRef< Value * > | NewValues, |
| DIExpression * | NewExpr ) |
Adding a new location operand will always result in this intrinsic using an ArgList, and must always be accompanied by a new expression that uses the new operand.
Definition at line 358 of file DebugProgramInstruction.cpp.
References assert(), llvm::DIArgList::get(), getAsMetadata(), llvm::DbgRecord::getContext(), getNumVariableLocationOps(), getVariableLocationOp(), llvm::is_contained(), location_ops(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), setExpression(), setRawLocation(), and llvm::ArrayRef< T >::size().
Support type inquiry through isa, cast, and dyn_cast.
Definition at line 565 of file DebugProgramInstruction.h.
References llvm::DbgRecord::DbgRecord(), E(), and llvm::DbgRecord::ValueKind.
| DbgVariableRecord * DbgVariableRecord::clone | ( | ) | const |
Definition at line 412 of file DebugProgramInstruction.cpp.
References DbgVariableRecord().
Referenced by llvm::insertDebugValuesForPHIs().
|
static |
Definition at line 181 of file DebugProgramInstruction.cpp.
References DbgVariableRecord(), llvm::ValueAsMetadata::get(), and Value.
Referenced by createDbgVariableRecord(), llvm::DIBuilder::insertDbgValueIntrinsic(), and insertNewDbgInst().
|
static |
Definition at line 188 of file DebugProgramInstruction.cpp.
References createDbgVariableRecord(), DbgVariableRecord(), and Value.
| DbgVariableIntrinsic * DbgVariableRecord::createDebugIntrinsic | ( | Module * | M, |
| Instruction * | InsertBefore ) const |
Convert this DbgVariableRecord back into a dbg.value intrinsic.
InsertBefore Optional position to insert this intrinsic.
Definition at line 421 of file DebugProgramInstruction.cpp.
References Any, assert(), Assign, llvm::cast(), llvm::CallInst::Create(), Declare, DeclareValue, End, llvm::MetadataAsValue::get(), getAddressExpression(), getAssignID(), llvm::MDNode::getContext(), llvm::DbgRecord::getDebugLoc(), getExpression(), llvm::Function::getFunctionType(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::Intrinsic::getOrInsertDeclaration(), getRawAddress(), getRawLocation(), getType(), getVariable(), llvm::Instruction::insertBefore(), isDbgAssign(), llvm_unreachable, llvm::Instruction::setDebugLoc(), llvm::CallInst::setTailCall(), and Value.
|
static |
Definition at line 229 of file DebugProgramInstruction.cpp.
References llvm::Address, AddressExpression, DbgVariableRecord(), Expression, llvm::ValueAsMetadata::get(), Value, and Variable.
Referenced by createLinkedDVRAssign(), and llvm::DIBuilder::insertDbgAssign().
|
static |
Definition at line 196 of file DebugProgramInstruction.cpp.
References llvm::Address, DbgVariableRecord(), Declare, llvm::ValueAsMetadata::get(), and Value.
Referenced by createDVRDeclare(), llvm::DIBuilder::insertDeclare(), and insertNewDbgInst().
|
static |
Definition at line 205 of file DebugProgramInstruction.cpp.
References llvm::Address, createDVRDeclare(), DbgVariableRecord(), and Value.
|
static |
Definition at line 214 of file DebugProgramInstruction.cpp.
References llvm::Address, DbgVariableRecord(), DeclareValue, llvm::ValueAsMetadata::get(), and Value.
Referenced by createDVRDeclareValue(), and llvm::DIBuilder::insertDeclareValue().
|
static |
Definition at line 221 of file DebugProgramInstruction.cpp.
References llvm::Address, createDVRDeclareValue(), DbgVariableRecord(), and Value.
|
static |
Definition at line 238 of file DebugProgramInstruction.cpp.
References llvm::Address, AddressExpression, assert(), llvm::cast(), createDVRAssign(), DbgVariableRecord(), Expression, llvm::Instruction::getMetadata(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), Value, and Variable.
Referenced by emitDbgAssign(), and insertNewDbgInst().
|
static |
Used to create DbgVariableRecords during parsing, where some metadata references may still be unresolved.
Although for some fields a generic Metadata* argument is accepted for forward type-references, the verifier and accessors will reject incorrect types later on. The function is used for all types of DbgVariableRecords for simplicity while parsing, but asserts if any necessary fields are empty or unused fields are not empty, i.e. if the #dbg_assign fields are used for a non-dbg-assign type.
Definition at line 172 of file DebugProgramInstruction.cpp.
References llvm::Address, AddressExpression, DbgVariableRecord(), Expression, Type, and Variable.
Referenced by upgradeDbgIntrinsicToDbgRecord().
| Value * DbgVariableRecord::getAddress | ( | ) | const |
Definition at line 496 of file DebugProgramInstruction.cpp.
References assert(), llvm::cast(), llvm::dyn_cast_or_null(), getRawAddress(), and Value.
Referenced by buildOverlapMapAndRecordDeclares(), llvm::at::calculateFragmentIntersect(), fixupDebugInfoPostExtraction(), isKillAddress(), replaceVariableLocationOp(), and setKillAddress().
|
inline |
Definition at line 530 of file DebugProgramInstruction.h.
References AddressExpression.
Referenced by buildOverlapMapAndRecordDeclares(), llvm::at::calculateFragmentIntersect(), createDebugIntrinsic(), getAddressExpression(), and llvm::ValueEnumerator::ValueEnumerator().
| DIAssignID * DbgVariableRecord::getAssignID | ( | ) | const |
Definition at line 507 of file DebugProgramInstruction.cpp.
References llvm::cast(), and llvm::DebugValueUser::DebugValues.
Referenced by createDebugIntrinsic(), llvm::at::getAssignmentInsts(), getIDFromMarker(), and llvm::ValueEnumerator::ValueEnumerator().
|
inline |
Definition at line 469 of file DebugProgramInstruction.h.
References Expression.
Referenced by buildOverlapMapAndRecordDeclares(), llvm::ConvertDebugDeclareToDebugValue(), llvm::ConvertDebugDeclareToDebugValue(), llvm::ConvertDebugDeclareToDebugValue(), createDebugIntrinsic(), llvm::DbgValueDef::DbgValueDef(), DbgVariableRecord(), getAddressExpression(), getFragment(), getFragmentSizeInBits(), llvm::FastISel::handleDbgInfo(), llvm::InsertDebugValueAtStoreLoc(), insertNewDbgInst(), isKillLocation(), migrateDebugInfo(), promoteSingleBlockAlloca(), rewriteSingleStoreAlloca(), llvm::coro::salvageDebugInfo(), UpdateDbgValue(), valueCoversEntireFragment(), llvm::ValueEnumerator::ValueEnumerator(), and llvm::SelectionDAGBuilder::visitDbgInfo().
| std::optional< DbgVariableFragmentInfo > DbgVariableRecord::getFragment | ( | ) | const |
Definition at line 392 of file DebugProgramInstruction.cpp.
References getExpression(), and llvm::DIExpression::getFragmentInfo().
Referenced by getFragmentOrEntireVariable().
|
inline |
Get the FragmentInfo for the variable if it exists, otherwise return a FragmentInfo that covers the entire variable if the variable size is known, otherwise return a zero-sized fragment.
Definition at line 497 of file DebugProgramInstruction.h.
References getFragment(), and getFragmentSizeInBits().
Referenced by llvm::at::calculateFragmentIntersect().
| std::optional< uint64_t > DbgVariableRecord::getFragmentSizeInBits | ( | ) | const |
Get the size (in bits) of the variable, or fragment of the variable that is described.
Definition at line 396 of file DebugProgramInstruction.cpp.
References getExpression(), llvm::DIVariable::getSizeInBits(), and getVariable().
Referenced by getFragmentOrEntireVariable().
| unsigned DbgVariableRecord::getNumVariableLocationOps | ( | ) | const |
Definition at line 275 of file DebugProgramInstruction.cpp.
References llvm::cast(), getRawLocation(), and hasArgList().
Referenced by addVariableLocationOps(), isKillLocation(), replaceVariableLocationOp(), and valueCoversEntireFragment().
|
inline |
Definition at line 525 of file DebugProgramInstruction.h.
References llvm::DebugValueUser::DebugValues, and isDbgAssign().
Referenced by createDebugIntrinsic(), getAddress(), and llvm::ValueEnumerator::ValueEnumerator().
|
inline |
Definition at line 531 of file DebugProgramInstruction.h.
References AddressExpression.
|
inline |
Definition at line 528 of file DebugProgramInstruction.h.
References llvm::DebugValueUser::DebugValues.
|
inline |
Definition at line 470 of file DebugProgramInstruction.h.
References Expression.
|
inline |
Returns the metadata operand for the first location description.
i.e., dbg intrinsic dbg.value,declare operand and dbg.assign 1st location operand (the "value componenet"). Note the operand (singular) may be a DIArgList which is a list of values.
Definition at line 476 of file DebugProgramInstruction.h.
References llvm::DebugValueUser::DebugValues.
Referenced by buildOverlapMapAndRecordDeclares(), createDebugIntrinsic(), llvm::DbgValueDef::DbgValueDef(), getNumVariableLocationOps(), getVariableLocationOp(), hasArgList(), isKillLocation(), location_ops(), llvm::coro::salvageDebugInfo(), and llvm::ValueEnumerator::ValueEnumerator().
|
inline |
Definition at line 466 of file DebugProgramInstruction.h.
References Variable.
|
inline |
Definition at line 459 of file DebugProgramInstruction.h.
References Type.
Referenced by createDebugIntrinsic(), DbgVariableRecord(), getAddressExpression(), llvm::FastISel::handleDbgInfo(), isKillAddress(), llvm::coro::salvageDebugInfo(), setKillAddress(), and llvm::SelectionDAGBuilder::visitDbgInfo().
Definition at line 478 of file DebugProgramInstruction.h.
References getVariableLocationOp(), OpIdx, and Value.
Referenced by insertNewDbgInst().
|
inline |
Definition at line 465 of file DebugProgramInstruction.h.
References Variable.
Referenced by buildOverlapMapAndRecordDeclares(), llvm::ConvertDebugDeclareToDebugValue(), llvm::ConvertDebugDeclareToDebugValue(), llvm::ConvertDebugDeclareToDebugValue(), createDebugIntrinsic(), DbgVariableRecord(), findVarsWithStackSlot(), fixupDebugInfoPostExtraction(), getAggregateVariable(), getFragmentSizeInBits(), llvm::FastISel::handleDbgInfo(), llvm::InsertDebugValueAtStoreLoc(), insertNewDbgInst(), isCompositeType(), remarkAlloca(), valueCoversEntireFragment(), llvm::ValueEnumerator::ValueEnumerator(), and llvm::SelectionDAGBuilder::visitDbgInfo().
Definition at line 281 of file DebugProgramInstruction.cpp.
References assert(), llvm::cast(), llvm::dyn_cast(), getRawLocation(), llvm::isa(), OpIdx, and Value.
Referenced by addVariableLocationOps(), getValue(), llvm::FastISel::handleDbgInfo(), hasValidLocation(), replaceVariableLocationOp(), replaceVariableLocationOp(), llvm::coro::salvageDebugInfo(), valueCoversEntireFragment(), and llvm::SelectionDAGBuilder::visitDbgInfo().
|
inline |
Definition at line 442 of file DebugProgramInstruction.h.
References getRawLocation(), and llvm::isa().
Referenced by getNumVariableLocationOps(), llvm::FastISel::handleDbgInfo(), isKillLocation(), replaceVariableLocationOp(), replaceVariableLocationOp(), and llvm::SelectionDAGBuilder::visitDbgInfo().
|
inline |
Returns true if this DbgVariableRecord has no empty MDNodes in its location list.
Definition at line 445 of file DebugProgramInstruction.h.
References getVariableLocationOp().
|
inline |
Does this describe the address of a local variable.
True for dbg.addr and dbg.declare, but not dbg.value or dbg.declare_value, which describes its value.
Definition at line 450 of file DebugProgramInstruction.h.
Referenced by llvm::ConvertDebugDeclareToDebugValue(), llvm::DbgValueDef::DbgValueDef(), promoteSingleBlockAlloca(), rewriteSingleStoreAlloca(), and valueCoversEntireFragment().
|
inline |
Definition at line 522 of file DebugProgramInstruction.h.
References Assign, and getType().
Referenced by llvm::ConvertDebugDeclareToDebugValue(), createDebugIntrinsic(), llvm::DbgValueDef::DbgValueDef(), llvm::memtag::DynCastToDbgAssign(), fixupDebugInfoPostExtraction(), llvm::at::getAssignmentInsts(), getIDFromMarker(), getRawAddress(), insertNewDbgInst(), LLVMDbgRecordGetKind(), replaceVariableLocationOp(), and llvm::ValueEnumerator::ValueEnumerator().
|
inline |
Definition at line 420 of file DebugProgramInstruction.h.
Referenced by insertNewDbgInst(), LLVMDbgRecordGetKind(), and llvm::coro::salvageDebugInfo().
|
inline |
Definition at line 422 of file DebugProgramInstruction.h.
References DeclareValue, and Type.
Referenced by llvm::coro::salvageDebugInfo().
|
inline |
Definition at line 421 of file DebugProgramInstruction.h.
Referenced by insertNewDbgInst(), and LLVMDbgRecordGetKind().
|
inline |
Definition at line 508 of file DebugProgramInstruction.h.
References llvm::DbgRecord::DbgLoc, DbgVariableRecord(), isIdenticalToWhenDefined(), and llvm::Other.
|
inline |
Definition at line 513 of file DebugProgramInstruction.h.
References AddressExpression, DbgVariableRecord(), llvm::DebugValueUser::DebugValues, Expression, llvm::Other, Type, and Variable.
Referenced by isEquivalentTo().
| bool DbgVariableRecord::isKillAddress | ( | ) | const |
Check whether this kills the address component.
This doesn't take into account the position of the intrinsic, therefore a returned value of false does not guarantee the address is a valid location for the variable at the intrinsic's position in IR.
Definition at line 520 of file DebugProgramInstruction.cpp.
References getAddress(), llvm::isa(), and Value.
Referenced by llvm::at::calculateFragmentIntersect(), and isKillAddress().
| bool DbgVariableRecord::isKillLocation | ( | ) | const |
Definition at line 386 of file DebugProgramInstruction.cpp.
References llvm::any_of(), getExpression(), getNumVariableLocationOps(), getRawLocation(), hasArgList(), llvm::isa(), llvm::DIExpression::isComplex(), location_ops(), and Value.
Referenced by llvm::DbgValueDef::DbgValueDef(), isKillAddress(), and SalvageDVI().
|
inline |
Determine if this describes the value of a local variable.
It is false for dbg.declare, but true for dbg.value and dbg.declare_value, which describes its value.
Definition at line 455 of file DebugProgramInstruction.h.
References DeclareValue, Type, and Value.
Referenced by rewriteSingleStoreAlloca().
| iterator_range< DbgVariableRecord::location_op_iterator > DbgVariableRecord::location_ops | ( | ) | const |
Get the locations corresponding to the variable referenced by the debug info intrinsic.
Depending on the intrinsic, this could be the variable's value or its address.
Definition at line 252 of file DebugProgramInstruction.cpp.
References assert(), llvm::cast(), llvm::dyn_cast(), and getRawLocation().
Referenced by addVariableLocationOps(), fixupDebugInfoPostExtraction(), llvm::insertDebugValuesForPHIs(), isKillLocation(), replaceVariableLocationOp(), setKillLocation(), and llvm::SelectionDAGBuilder::visitDbgInfo().
| void DbgVariableRecord::print | ( | raw_ostream & | O, |
| bool | IsForDebug = false ) const |
Definition at line 5174 of file AsmWriter.cpp.
References getModuleFromDPI(), and print().
| void DbgVariableRecord::print | ( | raw_ostream & | ROS, |
| ModuleSlotTracker & | MST, | ||
| bool | IsForDebug ) const |
Definition at line 5199 of file AsmWriter.cpp.
References F, llvm::ModuleSlotTracker::getMachine(), getModuleFromDPI(), llvm::ModuleSlotTracker::incorporateFunction(), and llvm::DbgRecord::Marker.
Definition at line 338 of file DebugProgramInstruction.cpp.
References assert(), llvm::cast(), llvm::DIArgList::get(), llvm::ValueAsMetadata::get(), getAsMetadata(), llvm::DbgRecord::getContext(), getNumVariableLocationOps(), getVariableLocationOp(), hasArgList(), llvm::isa(), OpIdx, llvm::SmallVectorTemplateBase< T, bool >::push_back(), setRawLocation(), and Value.
| void DbgVariableRecord::replaceVariableLocationOp | ( | Value * | OldValue, |
| Value * | NewValue, | ||
| bool | AllowEmpty = false ) |
Definition at line 304 of file DebugProgramInstruction.cpp.
References assert(), llvm::cast(), llvm::find(), llvm::DIArgList::get(), llvm::ValueAsMetadata::get(), getAddress(), getAsMetadata(), llvm::DbgRecord::getContext(), getVariableLocationOp(), hasArgList(), llvm::isa(), isDbgAssign(), llvm_unreachable, location_ops(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), setAddress(), setRawLocation(), and Value.
Referenced by llvm::insertDebugValuesForPHIs(), migrateDebugInfo(), rewriteDebugUsers(), llvm::coro::salvageDebugInfo(), setKillLocation(), and updateOneDbgValueForAlloca().
|
inline |
Definition at line 538 of file DebugProgramInstruction.h.
References llvm::ValueAsMetadata::get(), llvm::DebugValueUser::resetDebugValue(), and Value.
Referenced by migrateDebugInfo(), and replaceVariableLocationOp().
|
inline |
Definition at line 534 of file DebugProgramInstruction.h.
References AddressExpression.
| void DbgVariableRecord::setAssignId | ( | DIAssignID * | New | ) |
Definition at line 511 of file DebugProgramInstruction.cpp.
References llvm::DebugValueUser::resetDebugValue().
Referenced by migrateDebugInfo().
|
inline |
Definition at line 468 of file DebugProgramInstruction.h.
References Expression.
Referenced by addVariableLocationOps(), restorePreTransformState(), rewriteDebugUsers(), llvm::coro::salvageDebugInfo(), UpdateDbgValue(), and updateOneDbgValueForAlloca().
| void DbgVariableRecord::setKillAddress | ( | ) |
Kill the address component.
Definition at line 515 of file DebugProgramInstruction.cpp.
References llvm::PoisonValue::get(), llvm::ValueAsMetadata::get(), getAddress(), getType(), and llvm::DebugValueUser::resetDebugValue().
Referenced by insertNewDbgInst().
| void DbgVariableRecord::setKillLocation | ( | ) |
Definition at line 374 of file DebugProgramInstruction.cpp.
References llvm::PoisonValue::get(), llvm::SmallPtrSetImpl< PtrType >::insert(), location_ops(), Poison, replaceVariableLocationOp(), and Value.
Referenced by migrateDebugInfo().
|
inline |
Use of this should generally be avoided; instead, replaceVariableLocationOp and addVariableLocationOps should be used where possible to avoid creating invalid state.
Definition at line 485 of file DebugProgramInstruction.h.
References assert(), llvm::isa(), and llvm::DebugValueUser::resetDebugValue().
Referenced by addVariableLocationOps(), replaceVariableLocationOp(), replaceVariableLocationOp(), and restorePreTransformState().
|
inline |
Definition at line 464 of file DebugProgramInstruction.h.
References Variable.
Referenced by fixupDebugInfoPostExtraction().
|
friend |
Definition at line 277 of file DebugProgramInstruction.h.
References DebugValueUser.
Referenced by DbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), and DebugValueUser.
| DbgRecordParamRef<DIExpression> llvm::DbgVariableRecord::AddressExpression |
Definition at line 301 of file DebugProgramInstruction.h.
Referenced by createDVRAssign(), createLinkedDVRAssign(), createUnresolvedDbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), getAddressExpression(), getRawAddressExpression(), isIdenticalToWhenDefined(), and setAddressExpression().
| DbgRecordParamRef<DIExpression> llvm::DbgVariableRecord::Expression |
Definition at line 300 of file DebugProgramInstruction.h.
Referenced by createDVRAssign(), createLinkedDVRAssign(), createUnresolvedDbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), getExpression(), getRawExpression(), isIdenticalToWhenDefined(), and setExpression().
| LocationType llvm::DbgVariableRecord::Type |
Classification of the debug-info record that this DbgVariableRecord represents.
Essentially, "does this correspond to a dbg.value, dbg.declare, or dbg.assign?". FIXME: We could use spare padding bits from DbgRecord for this.
Definition at line 293 of file DebugProgramInstruction.h.
Referenced by createUnresolvedDbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), getType(), isAddressOfVariable(), isDbgDeclare(), isDbgDeclareValue(), isDbgValue(), isIdenticalToWhenDefined(), isValueOfVariable(), and llvm::coro::salvageDebugInfo().
| DbgRecordParamRef<DILocalVariable> llvm::DbgVariableRecord::Variable |
Definition at line 299 of file DebugProgramInstruction.h.
Referenced by createDVRAssign(), createLinkedDVRAssign(), createUnresolvedDbgVariableRecord(), DbgVariableRecord(), DbgVariableRecord(), getRawVariable(), getVariable(), isIdenticalToWhenDefined(), remarkAlloca(), and setVariable().