LLVM  15.0.0git

Enables easy lookup of blocks by addresses. More...

#include "llvm/ExecutionEngine/JITLink/JITLink.h"

Public Member Functions

template<typename PredFn = decltype(includeAllBlocks)>
Error addBlock (Block &B, PredFn Pred=includeAllBlocks)
Add a block to the map. More...

Add a block to the map without checking for overlap with existing blocks. More...

template<typename BlockPtrRange , typename PredFn = decltype(includeAllBlocks)>
Error addBlocks (BlockPtrRange &&Blocks, PredFn Pred=includeAllBlocks)
Add a range of blocks to the map. More...

template<typename BlockPtrRange >
Add a range of blocks to the map without checking for overlap with existing blocks. More...

const_iterator begin () const

const_iterator end () const

Returns the block starting at the given address, or nullptr if no such block exists. More...

Returns the block covering the given address, or nullptr if no such block exists. More...

Static Public Member Functions

static bool includeAllBlocks (const Block &B)
A block predicate that always adds all blocks. More...

static bool includeNonNull (const Block &B)
A block predicate that always includes blocks with non-null addresses. More...

Detailed Description

Enables easy lookup of blocks by addresses.

Definition at line 1437 of file JITLink.h.

Member Typedef Documentation

Definition at line 1439 of file JITLink.h.

◆ const_iterator

Definition at line 1440 of file JITLink.h.

default

Member Function Documentation

template<typename PredFn = decltype(includeAllBlocks)>
 Error llvm::jitlink::BlockAddressMap::addBlock ( Block & B, PredFn Pred = includeAllBlocks )
inline

Add a block to the map.

Returns an error if the block overlaps with any existing block.

Definition at line 1453 of file JITLink.h.

References B, I, and llvm::Error::success().

template<typename BlockPtrRange , typename PredFn = decltype(includeAllBlocks)>
 Error llvm::jitlink::BlockAddressMap::addBlocks ( BlockPtrRange && Blocks, PredFn Pred = includeAllBlocks )
inline

Add a range of blocks to the map.

Returns an error if any block in the range overlaps with any other block in the range, or with any existing block in the map.

Definition at line 1488 of file JITLink.h.

References B.

template<typename BlockPtrRange >
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 1499 of file JITLink.h.

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 1481 of file JITLink.h.

References B.

◆ begin()

inline

Definition at line 1505 of file JITLink.h.

◆ end()

inline

Definition at line 1506 of file JITLink.h.

◆ getBlockAt()

inline

Returns the block starting at the given address, or nullptr if no such block exists.

Definition at line 1510 of file JITLink.h.

◆ getBlockCovering()

inline

Returns the block covering the given address, or nullptr if no such block exists.

Definition at line 1519 of file JITLink.h.

◆ includeAllBlocks()

inlinestatic

A block predicate that always adds all blocks.

Definition at line 1443 of file JITLink.h.