class ModuleSymbolTable

Declaration

class ModuleSymbolTable { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:33

Member Variables

private llvm::Module* FirstMod = nullptr
private SpecificBumpPtrAllocator< llvm::ModuleSymbolTable::AsmSymbol> AsmSymbols
private std::vector<Symbol> SymTab
private llvm::Mangler Mang

Method Overview

  • public static void CollectAsmSymbols(const llvm::Module & M, function_ref<void (llvm::StringRef, object::BasicSymbolRef::Flags)> AsmSymbol)
  • public static void CollectAsmSymvers(const llvm::Module & M, function_ref<void (llvm::StringRef, llvm::StringRef)> AsmSymver)
  • public void addModule(llvm::Module * M)
  • public uint32_t getSymbolFlags(llvm::ModuleSymbolTable::Symbol S) const
  • public void printSymbolName(llvm::raw_ostream & OS, llvm::ModuleSymbolTable::Symbol S) const
  • public ArrayRef<llvm::ModuleSymbolTable::Symbol> symbols() const

Methods

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

Description

Parse inline ASM and collect the symbols that are defined or referenced in the current module. For each found symbol, call \p AsmSymbol with the name of the symbol found and the associated flags.

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:57

Parameters

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

static void CollectAsmSymvers(
    const llvm::Module& M,
    function_ref<void(llvm::StringRef,
                      llvm::StringRef)> AsmSymver)

Description

Parse inline ASM and collect the symvers directives that are defined in the current module. For each found symbol, call \p AsmSymver with the name of the symbol and its alias.

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:67

Parameters

const llvm::Module& M
function_ref<void(llvm::StringRef, llvm::StringRef)> AsmSymver

void addModule(llvm::Module* M)

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:47

Parameters

llvm::Module* M

uint32_t getSymbolFlags(
    llvm::ModuleSymbolTable::Symbol S) const

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:50

Parameters

llvm::ModuleSymbolTable::Symbol S

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

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:49

Parameters

llvm::raw_ostream& OS
llvm::ModuleSymbolTable::Symbol S

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

Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:46