LLVM 17.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::jitlink::Section Class Reference

Represents an object file section. More...

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

Public Types

using symbol_iterator = SymbolSet::iterator
 
using const_symbol_iterator = SymbolSet::const_iterator
 
using block_iterator = BlockSet::iterator
 
using const_block_iterator = BlockSet::const_iterator
 

Public Member Functions

 ~Section ()
 
 Section (const Section &)=delete
 
Sectionoperator= (const Section &)=delete
 
 Section (Section &&)=delete
 
Sectionoperator= (Section &&)=delete
 
StringRef getName () const
 Returns the name of this section.
 
orc::MemProt getMemProt () const
 Returns the protection flags for this section.
 
void setMemProt (orc::MemProt Prot)
 Set the protection flags for this section.
 
orc::MemLifetimePolicy getMemLifetimePolicy () const
 Get the memory lifetime policy for this section.
 
void setMemLifetimePolicy (orc::MemLifetimePolicy MLP)
 Set the memory lifetime policy for this section.
 
SectionOrdinal getOrdinal () const
 Returns the ordinal for this section.
 
bool empty () const
 Returns true if this section is empty (contains no blocks or symbols).
 
iterator_range< block_iteratorblocks ()
 Returns an iterator over the blocks defined in this section.
 
iterator_range< const_block_iteratorblocks () const
 Returns an iterator over the blocks defined in this section.
 
BlockSet::size_type blocks_size () const
 Returns the number of blocks in this section.
 
iterator_range< symbol_iteratorsymbols ()
 Returns an iterator over the symbols defined in this section.
 
iterator_range< const_symbol_iteratorsymbols () const
 Returns an iterator over the symbols defined in this section.
 
SymbolSet::size_type symbols_size () const
 Return the number of symbols in this section.
 

Friends

class LinkGraph
 

Detailed Description

Represents an object file section.

Definition at line 690 of file JITLink.h.

Member Typedef Documentation

◆ block_iterator

Definition at line 704 of file JITLink.h.

◆ const_block_iterator

Definition at line 705 of file JITLink.h.

◆ const_symbol_iterator

Definition at line 702 of file JITLink.h.

◆ symbol_iterator

Definition at line 701 of file JITLink.h.

Constructor & Destructor Documentation

◆ ~Section()

llvm::jitlink::Section::~Section ( )

Definition at line 158 of file JITLink.cpp.

References B, and Sym.

◆ Section() [1/2]

llvm::jitlink::Section::Section ( const Section )
delete

◆ Section() [2/2]

llvm::jitlink::Section::Section ( Section &&  )
delete

Member Function Documentation

◆ blocks() [1/2]

iterator_range< block_iterator > llvm::jitlink::Section::blocks ( )
inline

Returns an iterator over the blocks defined in this section.

Definition at line 737 of file JITLink.h.

References Blocks, and llvm::make_range().

Referenced by llvm::jitlink::LinkGraph::mergeSections(), llvm::jitlink::DWARFRecordSectionSplitter::operator()(), and llvm::jitlink::SectionRange::SectionRange().

◆ blocks() [2/2]

iterator_range< const_block_iterator > llvm::jitlink::Section::blocks ( ) const
inline

Returns an iterator over the blocks defined in this section.

Definition at line 742 of file JITLink.h.

References Blocks, and llvm::make_range().

◆ blocks_size()

BlockSet::size_type llvm::jitlink::Section::blocks_size ( ) const
inline

Returns the number of blocks in this section.

Definition at line 747 of file JITLink.h.

References Blocks.

◆ empty()

bool llvm::jitlink::Section::empty ( ) const
inline

Returns true if this section is empty (contains no blocks or symbols).

Definition at line 734 of file JITLink.h.

References Blocks.

◆ getMemLifetimePolicy()

orc::MemLifetimePolicy llvm::jitlink::Section::getMemLifetimePolicy ( ) const
inline

Get the memory lifetime policy for this section.

Definition at line 725 of file JITLink.h.

◆ getMemProt()

orc::MemProt llvm::jitlink::Section::getMemProt ( ) const
inline

Returns the protection flags for this section.

Definition at line 719 of file JITLink.h.

Referenced by llvm::jitlink::shouldRelax().

◆ getName()

StringRef llvm::jitlink::Section::getName ( ) const
inline

Returns the name of this section.

Definition at line 716 of file JITLink.h.

References Name.

Referenced by llvm::jitlink::makeTargetOutOfRangeError(), and llvm::jitlink::LinkGraph::removeSection().

◆ getOrdinal()

SectionOrdinal llvm::jitlink::Section::getOrdinal ( ) const
inline

Returns the ordinal for this section.

Definition at line 731 of file JITLink.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setMemLifetimePolicy()

void llvm::jitlink::Section::setMemLifetimePolicy ( orc::MemLifetimePolicy  MLP)
inline

Set the memory lifetime policy for this section.

Definition at line 728 of file JITLink.h.

◆ setMemProt()

void llvm::jitlink::Section::setMemProt ( orc::MemProt  Prot)
inline

Set the protection flags for this section.

Definition at line 722 of file JITLink.h.

◆ symbols() [1/2]

iterator_range< symbol_iterator > llvm::jitlink::Section::symbols ( )
inline

◆ symbols() [2/2]

iterator_range< const_symbol_iterator > llvm::jitlink::Section::symbols ( ) const
inline

Returns an iterator over the symbols defined in this section.

Definition at line 755 of file JITLink.h.

References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::begin(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::end(), and llvm::make_range().

◆ symbols_size()

SymbolSet::size_type llvm::jitlink::Section::symbols_size ( ) const
inline

Return the number of symbols in this section.

Definition at line 760 of file JITLink.h.

References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::size().

Friends And Related Function Documentation

◆ LinkGraph

friend class LinkGraph
friend

Definition at line 691 of file JITLink.h.


The documentation for this class was generated from the following files: