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)
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)
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)
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
uint32_t getSymbolFlags(
llvm::ModuleSymbolTable::Symbol S) const
Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:50
Parameters
¶void printSymbolName(
llvm::raw_ostream& OS,
llvm::ModuleSymbolTable::Symbol S) const
void printSymbolName(
llvm::raw_ostream& OS,
llvm::ModuleSymbolTable::Symbol S) const
Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:49
Parameters
¶ArrayRef<llvm::ModuleSymbolTable::Symbol>
symbols() const
ArrayRef<llvm::ModuleSymbolTable::Symbol>
symbols() const
Declared at: llvm/include/llvm/Object/ModuleSymbolTable.h:46