|
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 5141 of file AsmWriter.cpp.
References getModuleFromDPI(), and print().
| void DbgLabelRecord::print | ( | raw_ostream & | ROS, |
| ModuleSlotTracker & | MST, | ||
| bool | IsForDebug ) const |
Definition at line 5162 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.