LLVM 22.0.0git
|
Records a position in IR for a source label (DILabel). More...
#include "llvm/IR/DebugProgramInstruction.h"
Static Public Member Functions | |
static LLVM_ABI DbgLabelRecord * | createUnresolvedDbgLabelRecord (MDNode *Label, MDNode *DL) |
For use during parsing; creates a DbgLabelRecord from as-of-yet unresolved MDNodes. | |
static bool | classof (const DbgRecord *E) |
Support type inquiry through isa, cast, and dyn_cast. |
Additional Inherited Members | |
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 inherited from llvm::DbgRecord | |
DbgMarker * | Marker = nullptr |
Marker that this DbgRecord is linked into. | |
Protected Types inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< DbgRecord, Options... >::type > | |
using | self_iterator |
using | const_self_iterator |
using | reverse_self_iterator |
using | const_reverse_self_iterator |
Protected Member Functions inherited from llvm::DbgRecord | |
~DbgRecord ()=default | |
Similarly to Value, we avoid paying the cost of a vtable by protecting the dtor and having deleteRecord dispatch cleanup. | |
Protected Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< DbgRecord, Options... >::type > | |
ilist_node_impl ()=default | |
Protected Attributes inherited from llvm::DbgRecord | |
DebugLoc | DbgLoc |
Kind | RecordKind |
Subclass discriminator. |
Records a position in IR for a source label (DILabel).
Corresponds to the llvm.dbg.label intrinsic.
Definition at line 237 of file DebugProgramInstruction.h.
Definition at line 152 of file DebugProgramInstruction.cpp.
References assert(), llvm::DbgRecord::DbgRecord(), DL, and llvm::DbgRecord::LabelKind.
Support type inquiry through isa, cast, and dyn_cast.
Definition at line 267 of file DebugProgramInstruction.h.
References llvm::DbgRecord::DbgRecord(), E(), and llvm::DbgRecord::LabelKind.
DbgLabelRecord * llvm::DbgLabelRecord::clone | ( | ) | const |
Definition at line 399 of file DebugProgramInstruction.cpp.
References llvm::DbgRecord::getDebugLoc(), and getLabel().
DbgLabelInst * llvm::DbgLabelRecord::createDebugIntrinsic | ( | Module * | M, |
Instruction * | InsertBefore ) const |
Definition at line 461 of file DebugProgramInstruction.cpp.
References llvm::cast(), llvm::CallInst::Create(), llvm::MetadataAsValue::get(), llvm::DbgRecord::getContext(), llvm::DbgRecord::getDebugLoc(), llvm::ilist_node_impl< OptionsT >::getIterator(), getLabel(), and llvm::Intrinsic::getOrInsertDeclaration().
|
static |
For use during parsing; creates a DbgLabelRecord from as-of-yet unresolved MDNodes.
Trying to access the resulting DbgLabelRecord's fields before they are resolved, or if they resolve to the wrong type, will result in a crash.
Definition at line 157 of file DebugProgramInstruction.cpp.
References DL.
Referenced by upgradeDbgIntrinsicToDbgRecord().
|
inline |
Definition at line 263 of file DebugProgramInstruction.h.
References llvm::MDNode::get().
Referenced by clone(), and createDebugIntrinsic().
|
inline |
Definition at line 264 of file DebugProgramInstruction.h.
void DbgLabelRecord::print | ( | raw_ostream & | O, |
bool | IsForDebug = false ) const |
Definition at line 5185 of file AsmWriter.cpp.
References getModuleFromDPI(), and print().
void DbgLabelRecord::print | ( | raw_ostream & | ROS, |
ModuleSlotTracker & | MST, | ||
bool | IsForDebug ) const |
Definition at line 5208 of file AsmWriter.cpp.
References F, llvm::ModuleSlotTracker::getMachine(), getModuleFromDPI(), llvm::ModuleSlotTracker::incorporateFunction(), and llvm::DbgRecord::Marker.
|
inline |
Definition at line 262 of file DebugProgramInstruction.h.