LLVM: llvm::jitlink::BlockAddressMap Class Reference (original) (raw)
Enables easy lookup of blocks by addresses. More...
#include "[llvm/ExecutionEngine/JITLink/JITLink.h](JITLink%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| BlockAddressMap ()=default | |
| template | |
| Error | addBlock (Block &B, PredFn Pred=includeAllBlocks) |
| Add a block to the map. | |
| void | addBlockWithoutChecking (Block &B) |
| Add a block to the map without checking for overlap with existing blocks. | |
| template<typename BlockPtrRange, typename PredFn = decltype(includeAllBlocks)> | |
| Error | addBlocks (BlockPtrRange &&Blocks, PredFn Pred=includeAllBlocks) |
| Add a range of blocks to the map. | |
| template | |
| void | addBlocksWithoutChecking (BlockPtrRange &&Blocks) |
| Add a range of blocks to the map without checking for overlap with existing blocks. | |
| const_iterator | begin () const |
| Iterates over (Address, Block*) pairs in ascending order of address. | |
| const_iterator | end () const |
| Block * | getBlockAt (orc::ExecutorAddr Addr) const |
| Returns the block starting at the given address, or nullptr if no such block exists. | |
| Block * | getBlockCovering (orc::ExecutorAddr Addr) const |
| Returns the block covering the given address, or nullptr if no such block exists. |
| Static Public Member Functions | |
|---|---|
| static bool | includeAllBlocks (const Block &B) |
| A block predicate that always adds all blocks. | |
| static bool | includeNonNull (const Block &B) |
| A block predicate that always includes blocks with non-null addresses. |
Enables easy lookup of blocks by addresses.
Definition at line 1691 of file JITLink.h.
◆ AddrToBlockMap
◆ const_iterator
using llvm::jitlink::BlockAddressMap::const_iterator = AddrToBlockMap::const_iterator
| llvm::jitlink::BlockAddressMap::BlockAddressMap ( ) | default |
|---|
◆ addBlock()
template
| Error llvm::jitlink::BlockAddressMap::addBlock ( Block & B, PredFn Pred = includeAllBlocks ) | inline |
|---|
◆ addBlocks()
template<typename BlockPtrRange, typename PredFn = decltype(includeAllBlocks)>
| Error llvm::jitlink::BlockAddressMap::addBlocks ( BlockPtrRange && Blocks, PredFn Pred = includeAllBlocks ) | inline |
|---|
◆ addBlocksWithoutChecking()
template
| void llvm::jitlink::BlockAddressMap::addBlocksWithoutChecking ( BlockPtrRange && Blocks) | inline |
|---|
Add a range of blocks to the map without checking for overlap with existing blocks.
The client is responsible for ensuring that the block added does not overlap with any existing block.
Definition at line 1753 of file JITLink.h.
References addBlockWithoutChecking(), and B().
◆ addBlockWithoutChecking()
| void llvm::jitlink::BlockAddressMap::addBlockWithoutChecking ( Block & B) | inline |
|---|
Add a block to the map without checking for overlap with existing blocks.
The client is responsible for ensuring that the block added does not overlap with any existing block.
Definition at line 1735 of file JITLink.h.
References B().
Referenced by addBlocksWithoutChecking().
◆ begin()
| const_iterator llvm::jitlink::BlockAddressMap::begin ( ) const | inline |
|---|
Iterates over (Address, Block*) pairs in ascending order of address.
Definition at line 1759 of file JITLink.h.
◆ end()
| const_iterator llvm::jitlink::BlockAddressMap::end ( ) const | inline |
|---|
◆ getBlockAt()
Returns the block starting at the given address, or nullptr if no such block exists.
Definition at line 1764 of file JITLink.h.
References I.
◆ getBlockCovering()
Returns the block covering the given address, or nullptr if no such block exists.
Definition at line 1773 of file JITLink.h.
◆ includeAllBlocks()
| bool llvm::jitlink::BlockAddressMap::includeAllBlocks ( const Block & B) | inlinestatic |
|---|
◆ includeNonNull()
| bool llvm::jitlink::BlockAddressMap::includeNonNull ( const Block & B) | inlinestatic |
|---|
The documentation for this class was generated from the following file:
- include/llvm/ExecutionEngine/JITLink/JITLink.h