LLVM  10.0.0svn
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::ModuleSymbolTable Class Reference

#include "llvm/Object/ModuleSymbolTable.h"

Public Types

using AsmSymbol = std::pair< std::string, uint32_t >
using Symbol = PointerUnion< GlobalValue *, AsmSymbol * >

Public Member Functions

ArrayRef< Symbolsymbols () const
void addModule (Module *M)
void printSymbolName (raw_ostream &OS, Symbol S) const
uint32_t getSymbolFlags (Symbol S) const

Static Public Member Functions

static void CollectAsmSymbols (const Module &M, function_ref< void(StringRef, object::BasicSymbolRef::Flags)> AsmSymbol)
 Parse inline ASM and collect the symbols that are defined or referenced in the current module. More...
static void CollectAsmSymvers (const Module &M, function_ref< void(StringRef, StringRef)> AsmSymver)
 Parse inline ASM and collect the symvers directives that are defined in the current module. More...

Detailed Description

Definition at line 32 of file ModuleSymbolTable.h.

Member Typedef Documentation

◆ AsmSymbol

using llvm::ModuleSymbolTable::AsmSymbol = std::pair<std::string, uint32_t>

Definition at line 34 of file ModuleSymbolTable.h.

◆ Symbol

Definition at line 35 of file ModuleSymbolTable.h.

Member Function Documentation

◆ addModule()

void ModuleSymbolTable::addModule ( Module M)

Definition at line 56 of file ModuleSymbolTable.cpp.

References assert(), llvm::Module::getTargetTriple(), llvm::Module::global_values(), and Name.

Referenced by symbols().

◆ CollectAsmSymbols()

void ModuleSymbolTable::CollectAsmSymbols ( const Module M,
function_ref< void(StringRef, object::BasicSymbolRef::Flags)>  AsmSymbol 

◆ CollectAsmSymvers()

void ModuleSymbolTable::CollectAsmSymvers ( const Module M,
function_ref< void(StringRef, StringRef)>  AsmSymver 

Parse inline ASM and collect the symvers directives that are defined in the current module.

For each found symbol, call AsmSymver with the name of the symbol and its alias.

Definition at line 162 of file ModuleSymbolTable.cpp.

References initializeRecordStreamer(), and llvm::RecordStreamer::symverAliases().

Referenced by symbols().

◆ getSymbolFlags()

uint32_t ModuleSymbolTable::getSymbolFlags ( Symbol  S) const

◆ printSymbolName()

void ModuleSymbolTable::printSymbolName ( raw_ostream OS,
Symbol  S 
) const

Definition at line 171 of file ModuleSymbolTable.cpp.

References first, llvm::PointerUnion< PTs >::get(), and llvm::PointerUnion< PTs >::is().

Referenced by symbols().

◆ symbols()

ArrayRef<Symbol> llvm::ModuleSymbolTable::symbols ( ) const

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