LLVM 20.0.0git
|
Records a position in IR for a source label (DILabel). More...
#include "llvm/IR/DebugProgramInstruction.h"
Static Public Member Functions | |
static 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< OptionsT > | |
using | self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, false >::type |
using | const_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, true >::type |
using | reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, false >::type |
using | const_reverse_self_iterator = typename ilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, true, true >::type |
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< OptionsT > | |
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 223 of file DebugProgramInstruction.h.
Definition at line 151 of file DebugProgramInstruction.cpp.
References assert().
Support type inquiry through isa, cast, and dyn_cast.
Definition at line 252 of file DebugProgramInstruction.h.
References E, and llvm::DbgRecord::LabelKind.
DbgLabelRecord * llvm::DbgLabelRecord::clone | ( | ) | const |
Definition at line 398 of file DebugProgramInstruction.cpp.
References llvm::DbgRecord::getDebugLoc(), and getLabel().
DbgLabelInst * llvm::DbgLabelRecord::createDebugIntrinsic | ( | Module * | M, |
Instruction * | InsertBefore | ||
) | const |
Definition at line 460 of file DebugProgramInstruction.cpp.
References llvm::CallInst::Create(), llvm::MetadataAsValue::get(), llvm::DbgRecord::getContext(), llvm::DbgRecord::getDebugLoc(), llvm::Intrinsic::getDeclaration(), and getLabel().
|
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 156 of file DebugProgramInstruction.cpp.
References DL.
|
inline |
Definition at line 248 of file DebugProgramInstruction.h.
Referenced by clone(), and createDebugIntrinsic().
|
inline |
Definition at line 249 of file DebugProgramInstruction.h.
void DbgLabelRecord::print | ( | raw_ostream & | O, |
bool | IsForDebug = false |
||
) | const |
Definition at line 4984 of file AsmWriter.cpp.
References getModuleFromDPI(), and print().
Referenced by print().
void DbgLabelRecord::print | ( | raw_ostream & | ROS, |
ModuleSlotTracker & | MST, | ||
bool | IsForDebug | ||
) | const |
Definition at line 5007 of file AsmWriter.cpp.
References F, llvm::ModuleSlotTracker::getMachine(), getModuleFromDPI(), llvm::BasicBlock::getParent(), llvm::DbgMarker::getParent(), llvm::ModuleSlotTracker::incorporateFunction(), llvm::DbgRecord::Marker, and OS.
|
inline |
Definition at line 247 of file DebugProgramInstruction.h.