class IRSymbolMapper

Declaration

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

Description

Maps IR global values to their linker symbol names / flags. This utility can be used when adding new IR globals in the JIT.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Mangling.h:39

Method Overview

  • public static void add(llvm::orc::ExecutionSession & ES, const llvm::orc::IRSymbolMapper::ManglingOptions & MO, ArrayRef<llvm::GlobalValue *> GVs, llvm::orc::SymbolFlagsMap & SymbolFlags, llvm::orc::IRSymbolMapper::SymbolNameToDefinitionMap * SymbolToDefinition = nullptr)

Methods

ΒΆstatic void add(
    llvm::orc::ExecutionSession& ES,
    const llvm::orc::IRSymbolMapper::
        ManglingOptions& MO,
    ArrayRef<llvm::GlobalValue*> GVs,
    llvm::orc::SymbolFlagsMap& SymbolFlags,
    llvm::orc::IRSymbolMapper::
        SymbolNameToDefinitionMap*
            SymbolToDefinition = nullptr)

Description

Add mangled symbols for the given GlobalValues to SymbolFlags. If a SymbolToDefinitionMap pointer is supplied then it will be populated with Name-to-GlobalValue* mappings. Note that this mapping is not necessarily one-to-one: thread-local GlobalValues, for example, may produce more than one symbol, in which case the map will contain duplicate values.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Mangling.h:53

Parameters

llvm::orc::ExecutionSession& ES
const llvm::orc::IRSymbolMapper::ManglingOptions& MO
ArrayRef<llvm::GlobalValue*> GVs
llvm::orc::SymbolFlagsMap& SymbolFlags
llvm::orc::IRSymbolMapper:: SymbolNameToDefinitionMap* SymbolToDefinition = nullptr