13#ifndef LLVM_EXECUTIONENGINE_ORC_MANGLING_H
14#define LLVM_EXECUTIONENGINE_ORC_MANGLING_H
37 : ES(ES), M(ES.getTargetTriple(), ABIName) {}
39 : ES(ES), M(
DL.getStringRepresentation()) {}
44 return M.withMangledNameDo(
45 [
this](
StringRef MangledName) {
return ES.intern(MangledName); },
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
Module.h This file contains the declarations for the Module class.
static cl::opt< RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode > Mode("regalloc-enable-advisor", cl::Hidden, cl::init(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default), cl::desc("Enable regalloc advisor mode"), cl::values(clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default, "default", "Default"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release, "release", "precompiled"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development, "development", "for training")))
Represent a constant reference to an array (0 or more elements consecutively in memory),...
A parsed version of the target data layout string in and methods for querying it.
Represent a constant reference to a string, i.e.
An ExecutionSession represents a running JIT program.
Maps IR global values to their linker symbol names / flags.
static LLVM_ABI void add(ExecutionSession &ES, const ManglingOptions &MO, ArrayRef< GlobalValue * > GVs, SymbolFlagsMap &SymbolFlags, SymbolNameToDefinitionMap *SymbolToDefinition=nullptr)
Add mangled symbols for the given GlobalValues to SymbolFlags.
std::map< SymbolStringPtr, GlobalValue * > SymbolNameToDefinitionMap
SymbolStringPtr operator()(StringRef Name)
const Mangler & mangler() const
MangleAndInterner(ExecutionSession &ES, Mangler M)
SymbolStringPtr operator()(const SymbolNameSpec &NameSpec)
MangleAndInterner(ExecutionSession &ES, StringRef ABIName="")
MangleAndInterner(ExecutionSession &ES, ManglingMode Mode)
Mangler::Mode ManglingMode
MangleAndInterner(ExecutionSession &ES, const DataLayout &DL)
Applies linker name-mangling for a target.
Mode
The linker name-mangling scheme for a target, determined by its object format.
A symbol name together with the naming level (SymbolNameKind) it is expressed in, so that a Mangler /...
Pointer to a pooled string representing a symbol name.
DenseMap< SymbolStringPtr, JITSymbolFlags > SymbolFlagsMap
A map from symbol names (as SymbolStringPtrs) to JITSymbolFlags.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.