LLVM API Documentation
#include <X86JITInfo.h>
Inheritance diagram for llvm::X86JITInfo:
Public Member Functions | |
X86JITInfo (TargetMachine &tm) | |
virtual void | addPassesToJITCompile (FunctionPassManager &PM) |
virtual void | replaceMachineCodeForFunction (void *Old, void *New) |
virtual void * | emitFunctionStub (void *Fn, MachineCodeEmitter &MCE) |
virtual LazyResolverFn | getLazyResolverFunction (JITCompilerFn) |
getLazyResolverFunction - Expose the lazy resolver to the JIT. | |
virtual void | relocate (void *Function, MachineRelocation *MR, unsigned NumRelocs) |
Definition at line 23 of file X86JITInfo.h.
|
Definition at line 26 of file X86JITInfo.h. |
|
addPassesToJITCompile - Add passes to the specified pass manager to implement a fast dynamic compiler for this target. Return true if this is not supported for this target. Implements llvm::TargetJITInfo. Definition at line 149 of file X86TargetMachine.cpp. References llvm::FunctionPassManager::add(), llvm::createLowerGCPass(), llvm::createLowerInvokePass(), llvm::createLowerSwitchPass(), llvm::createMachineFunctionPrinterPass(), llvm::createPrologEpilogCodeInserter(), llvm::createRegisterAllocator(), llvm::createUnreachableBlockEliminationPass(), llvm::createX86CodePrinterPass(), llvm::createX86FloatingPointStackifierPass(), llvm::createX86PeepholeOptimizerPass(), llvm::createX86SimpleInstructionSelector(), llvm::createX86SSAPeepholeOptimizerPass(), NoSSAPeephole, and llvm::PrintMachineCode. |
|
emitFunctionStub - Use the specified MachineCodeEmitter object to emit a small native function that simply calls the function at the specified address. Reimplemented from llvm::TargetJITInfo. Definition at line 106 of file X86JITInfo.cpp. References CompilationCallback(), llvm::MachineCodeEmitter::emitByte(), llvm::MachineCodeEmitter::emitWord(), llvm::MachineCodeEmitter::finishFunctionStub(), llvm::MachineCodeEmitter::getCurrentPCValue(), and llvm::MachineCodeEmitter::startFunctionStub(). |
|
getLazyResolverFunction - Expose the lazy resolver to the JIT.
Definition at line 101 of file X86JITInfo.cpp. References CompilationCallback(), and JITCompilerFunction. |
|
relocate - Before the JIT can run a block of code that has been emitted, it must rewrite the code to contain the actual addresses of any referenced global symbols. Reimplemented from llvm::TargetJITInfo. Definition at line 126 of file X86JITInfo.cpp. References llvm::MachineRelocation::getMachineCodeOffset(), llvm::MachineRelocation::getRelocationType(), llvm::MachineRelocation::getResultPointer(), llvm::X86::reloc_absolute_word, and llvm::X86::reloc_pcrel_word. |
|
replaceMachineCodeForFunction - Make it so that calling the function whose machine code is at OLD turns into a call to NEW, perhaps by overwriting OLD with a branch to NEW. This is used for self-modifying code. Implements llvm::TargetJITInfo. Definition at line 21 of file X86JITInfo.cpp. |