LLVM  3.7.0
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
llvm::orc::OrcX86_64 Class Reference

#include <OrcTargetSupport.h>

Collaboration diagram for llvm::orc::OrcX86_64:
[legend]

Public Types

typedef std::function
< std::string(unsigned)> 
LabelNameFtor
 Get a label name from the given index. More...
 

Static Public Member Functions

static void insertResolverBlock (Module &M, JITCompileCallbackManagerBase &JCBM)
 Insert module-level inline callback asm into module M for the symbols managed by JITResolveCallbackHandler J. More...
 
static LabelNameFtor insertCompileCallbackTrampolines (Module &M, TargetAddress TrampolineAddr, unsigned NumCalls, unsigned StartIndex=0)
 Insert the requested number of trampolines into the given module. More...
 

Static Public Attributes

static const char * ResolverBlockName = "orc_resolver_block"
 

Detailed Description

Definition at line 22 of file OrcTargetSupport.h.

Member Typedef Documentation

Get a label name from the given index.

Definition at line 32 of file OrcTargetSupport.h.

Member Function Documentation

OrcX86_64::LabelNameFtor llvm::orc::OrcX86_64::insertCompileCallbackTrampolines ( Module M,
TargetAddress  TrampolineAddr,
unsigned  NumCalls,
unsigned  StartIndex = 0 
)
static

Insert the requested number of trampolines into the given module.

Parameters
MModule to insert the call block into.
NumCallsNumber of calls to create in the call block.
StartIndexOptional argument specifying the index suffix to start with.
Returns
A functor that provides the symbol name for each entry in the call block.

Definition at line 102 of file OrcTargetSupport.cpp.

References llvm::Module::appendModuleInlineAsm(), llvm::Triple::Darwin, llvm::Module::getTargetTriple(), I, and llvm::Triple::str().

void llvm::orc::OrcX86_64::insertResolverBlock ( Module M,
JITCompileCallbackManagerBase JCBM 
)
static

Insert module-level inline callback asm into module M for the symbols managed by JITResolveCallbackHandler J.

Definition at line 21 of file OrcTargetSupport.cpp.

References llvm::Module::appendModuleInlineAsm(), llvm::Triple::Darwin, llvm::Module::getTargetTriple(), and llvm::make_range().

Member Data Documentation

const char * llvm::orc::OrcX86_64::ResolverBlockName = "orc_resolver_block"
static

Definition at line 24 of file OrcTargetSupport.h.


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