LLVM  11.0.0git

An Addressable with content and edges. More...

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

[legend]
[legend]

## Public Types

using EdgeVector = std::vector< Edge >

using edge_iterator = EdgeVector::iterator

using const_edge_iterator = EdgeVector::const_iterator

## Public Member Functions

Block (const Block &)=delete

Blockoperator= (const Block &)=delete

Block (Block &&)=delete

Blockoperator= (Block &&)=delete

SectiongetSection () const
Return the parent section for this block. More...

bool isZeroFill () const
Returns true if this is a zero-fill block. More...

size_t getSize () const
Returns the size of this defined addressable. More...

StringRef getContent () const
Get the content for this block. Block must not be a zero-fill block. More...

void setContent (StringRef Content)
Set the content for this block. More...

uint64_t getAlignment () const
Get the alignment for this content. More...

void setAlignment (uint64_t Alignment)
Set the alignment for this content. More...

uint64_t getAlignmentOffset () const
Get the alignment offset for this content. More...

void setAlignmentOffset (uint64_t AlignmentOffset)
Set the alignment offset for this content. More...

Add an edge to this block. More...

Add an edge by copying an existing one. More...

iterator_range< edge_iteratoredges ()
Return the list of edges attached to this content. More...

iterator_range< const_edge_iteratoredges () const
Returns the list of edges attached to this content. More...

size_t edges_size () const
Return the size of the edges list. More...

bool edges_empty () const
Returns true if the list of edges is empty. More...

edge_iterator removeEdge (edge_iterator I)
Remove the edge pointed to by the given iterator. More...

## Detailed Description

An Addressable with content and edges.

Definition at line 138 of file JITLink.h.

## ◆ const_edge_iterator

Definition at line 172 of file JITLink.h.

## ◆ edge_iterator

Definition at line 171 of file JITLink.h.

## ◆ EdgeVector

Definition at line 170 of file JITLink.h.

## ◆ Block() [1/2]

 llvm::jitlink::Block::Block ( const Block & )
delete

delete

## Member Function Documentation

inline

Add an edge to this block.

Definition at line 225 of file JITLink.h.

inline

Add an edge by copying an existing one.

This is typically used when moving edges between blocks.

Definition at line 232 of file JITLink.h.

## ◆ edges() [1/2]

inline

Return the list of edges attached to this content.

Definition at line 235 of file JITLink.h.

References llvm::make_range().

## ◆ edges() [2/2]

inline

Returns the list of edges attached to this content.

Definition at line 240 of file JITLink.h.

References llvm::make_range().

## ◆ edges_empty()

inline

Returns true if the list of edges is empty.

Definition at line 248 of file JITLink.h.

## ◆ edges_size()

inline

Return the size of the edges list.

Definition at line 245 of file JITLink.h.

## ◆ getAlignment()

inline

Get the alignment for this content.

Definition at line 206 of file JITLink.h.

## ◆ getAlignmentOffset()

inline

Get the alignment offset for this content.

Definition at line 215 of file JITLink.h.

## ◆ getContent()

inline

Get the content for this block. Block must not be a zero-fill block.

Definition at line 192 of file JITLink.h.

References assert(), and llvm::Data.

## ◆ getSection()

inline

Return the parent section for this block.

Definition at line 180 of file JITLink.h.

## ◆ getSize()

inline

Returns the size of this defined addressable.

Definition at line 189 of file JITLink.h.

References Size.

## ◆ isZeroFill()

inline

Returns true if this is a zero-fill block.

If true, getSize is callable but getContent is not (the content is defined to be a sequence of zero bytes of length Size).

Definition at line 186 of file JITLink.h.

References llvm::Data.

## ◆ operator=() [1/2]

 Block& llvm::jitlink::Block::operator= ( const Block & )
delete

## ◆ operator=() [2/2]

 Block& llvm::jitlink::Block::operator= ( Block && )
delete

## ◆ removeEdge()

 edge_iterator llvm::jitlink::Block::removeEdge ( edge_iterator I )
inline

Remove the edge pointed to by the given iterator.

Returns an iterator to the new next element.

Definition at line 252 of file JITLink.h.

References llvm::Data.

## ◆ setAlignment()

 void llvm::jitlink::Block::setAlignment ( uint64_t Alignment )
inline

Set the alignment for this content.

Definition at line 209 of file JITLink.h.

References assert(), llvm::countTrailingZeros(), and llvm::isPowerOf2_64().

## ◆ setAlignmentOffset()

 void llvm::jitlink::Block::setAlignmentOffset ( uint64_t AlignmentOffset )
inline

Set the alignment offset for this content.

Definition at line 218 of file JITLink.h.

References assert().

## ◆ setContent()

 void llvm::jitlink::Block::setContent ( StringRef Content )
inline

Set the content for this block.

Caller is responsible for ensuring the underlying bytes are not deallocated while pointed to by this block.

Definition at line 200 of file JITLink.h.

References llvm::Data, llvm::StringRef::data(), and llvm::StringRef::size().