|
LLVM 24.0.0git
|
Assignment ID. More...
#include "llvm/IR/DebugInfoMetadata.h"
Friends | |
| class | LLVMContextImpl |
| class | MDNode |
| class | Instruction |
| Iterator for Instructions in a `BasicBlock. | |
| class | DebugValueUser |
Additional Inherited Members | |
| Public Types inherited from llvm::MDNode | |
| using | op_iterator = const MDOperand * |
| using | op_range = iterator_range<op_iterator> |
| Public Types inherited from llvm::Metadata | |
| enum | MetadataKind |
| Static Public Attributes inherited from llvm::Metadata | |
| static constexpr const unsigned | PoisonGeneratingIDs [] |
| Metadata IDs that may generate poison. | |
| Protected Types inherited from llvm::MDNode | |
| using | mutable_op_range = iterator_range<MDOperand *> |
| Protected Types inherited from llvm::Metadata | |
| enum | StorageType { Uniqued , Distinct , Temporary } |
| Active type of storage. More... | |
| Protected Member Functions inherited from llvm::MDNode | |
| LLVM_ABI | MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2={}) |
| ~MDNode ()=default | |
| LLVM_ABI void * | operator new (size_t Size, size_t NumOps, StorageType Storage) |
| LLVM_ABI void | operator delete (void *Mem) |
| void | operator delete (void *, unsigned) |
| Required by std, but never called. | |
| void | operator delete (void *, unsigned, bool) |
| Required by std, but never called. | |
| LLVM_ABI void | dropAllReferences () |
| MDOperand * | mutable_begin () |
| MDOperand * | mutable_end () |
| mutable_op_range | mutable_operands () |
| LLVM_ABI void | setOperand (unsigned I, Metadata *New) |
| Set an operand. | |
| unsigned | getNumUnresolved () const |
| void | setNumUnresolved (unsigned N) |
| LLVM_ABI void | storeDistinctInContext () |
| void | resize (size_t NumOps) |
| Resize the node to hold NumOps operands. | |
| Protected Member Functions inherited from llvm::Metadata | |
| Metadata (unsigned ID, StorageType Storage) | |
| ~Metadata ()=default | |
| void | handleChangedOperand (void *, Metadata *) |
| Default handling of a changed operand, which asserts. | |
| Static Protected Member Functions inherited from llvm::MDNode | |
| template<class T, class StoreT> | |
| static T * | storeImpl (T *N, StorageType Storage, StoreT &Store) |
| template<class T> | |
| static T * | storeImpl (T *N, StorageType Storage) |
| Protected Attributes inherited from llvm::Metadata | |
| unsigned char | Storage: 7 |
| Storage flag for non-uniqued, otherwise unowned, metadata. | |
| unsigned char | SubclassData1: 1 |
| unsigned short | SubclassData16 = 0 |
| unsigned | SubclassData32 = 0 |
Assignment ID.
Used to link stores (as an attachment) and dbg.assigns (as an operand). DIAssignID metadata is never uniqued as we compare instances using referential equality (the instance/address is the ID).
Definition at line 321 of file DebugInfoMetadata.h.
Definition at line 357 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inlinestatic |
Definition at line 349 of file DebugInfoMetadata.h.
References llvm::Metadata::Distinct.
Referenced by insertNewDbgInst(), migrateDebugInfo(), llvm::at::remapAssignID(), shortenAssignment(), and llvm::at::trackAssignments().
|
inline |
Definition at line 346 of file DebugInfoMetadata.h.
|
inline |
Definition at line 347 of file DebugInfoMetadata.h.
Referenced by llvm::at::RAUW().
|
inlinestatic |
Definition at line 352 of file DebugInfoMetadata.h.
References llvm::Metadata::Temporary.
|
friend |
Definition at line 325 of file DebugInfoMetadata.h.
References C(), DebugValueUser, MDNode, and llvm::Metadata::Storage.
Referenced by DebugValueUser.
|
friend |
Iterator for Instructions in a `BasicBlock.
/ \Returns an sandboxir::Instruction & when derereferenced. class BBIterator { public: using difference_type = std::ptrdiff_t; using value_type = Instruction; using pointer = value_type *; using reference = value_type &; using iterator_category = std::bidirectional_iterator_tag;
private: llvm::BasicBlock *BB; llvm::BasicBlock::iterator It; Context *Ctx; LLVM_ABI pointer getInstr(llvm::BasicBlock::iterator It) const;
public: BBIterator() : BB(nullptr), Ctx(nullptr) {} BBIterator(llvm::BasicBlock <em>BB, llvm::BasicBlock::iterator It, Context *Ctx) : BB(BB), It(It), Ctx(Ctx) {} reference operator() const { return *getInstr(It); } LLVM_ABI BBIterator &operator++(); BBIterator operator++(int) { auto Copy = *this; ++*this; return Copy; } LLVM_ABI BBIterator &operator--(); BBIterator operator--(int) { auto Copy = *this; –*this; return Copy; } bool operator==(const BBIterator &Other) const { assert(Ctx == Other.Ctx && "BBIterators in different context!"); return It == Other.It; } bool operator!=(const BBIterator &Other) const { return !(*this == Other); } / \Returns the SBInstruction that corresponds to this iterator, or null if / the instruction is not found in the IR-to-SandboxIR tables. pointer get() const { return getInstr(It); } / \Returns the parent BB. LLVM_ABI BasicBlock *getNodeParent() const; };
/ Contains a list of sandboxir::Instruction's. class BasicBlock : public Value { / Builds a graph that contains all values in BB in their original form / i.e., no vectorization is taking place here. LLVM_ABI void buildBasicBlockFromLLVMIR(llvm::BasicBlock *LLVMBB); friend class Context; // For buildBasicBlockFromIR
Definition at line 324 of file DebugInfoMetadata.h.
References Instruction.
Referenced by Instruction.
|
friend |
Definition at line 322 of file DebugInfoMetadata.h.
References LLVMContextImpl.
Referenced by LLVMContextImpl.
|
friend |
Definition at line 323 of file DebugInfoMetadata.h.
References MDNode.
Referenced by DebugValueUser, and MDNode.