LLVM API Documentation
#include <SparcJITInfo.h>
Public Member Functions | |
SparcJITInfo () | |
virtual void | replaceMachineCodeForFunction (void *Old, void *New) |
virtual StubLayout | getStubLayout () |
Returns the maximum size and alignment for a call stub on this target. More... | |
virtual void * | emitFunctionStub (const Function *F, void *Fn, JITCodeEmitter &JCE) |
virtual LazyResolverFn | getLazyResolverFunction (JITCompilerFn) |
getLazyResolverFunction - Expose the lazy resolver to the JIT. More... | |
virtual void | relocate (void *Function, MachineRelocation *MR, unsigned NumRelocs, unsigned char *GOTBase) |
void | Initialize (const MachineFunction &MF, bool isPIC) |
Initialize - Initialize internal stage for the function being JITted. More... | |
![]() | |
virtual | ~TargetJITInfo () |
virtual void * | emitGlobalValueIndirectSym (const GlobalValue *GV, void *ptr, JITCodeEmitter &JCE) |
virtual uintptr_t | getPICJumpTableEntry (uintptr_t BB, uintptr_t JTBase) |
virtual char * | allocateThreadLocalMemory (size_t size) |
bool | needsGOT () const |
virtual bool | hasCustomConstantPool () const |
virtual bool | hasCustomJumpTables () const |
virtual bool | allocateSeparateGVMemory () const |
Additional Inherited Members | |
![]() | |
typedef void(* | LazyResolverFn )() |
typedef void *(* | JITCompilerFn )(void *) |
![]() | |
bool | useGOT |
Definition at line 24 of file SparcJITInfo.h.
|
inlineexplicit |
Definition at line 29 of file SparcJITInfo.h.
|
virtual |
emitFunctionStub - Use the specified JITCodeEmitter object to emit a small native function that simply calls the function at the specified address.
Reimplemented from llvm::TargetJITInfo.
Definition at line 98 of file SparcJITInfo.cpp.
References llvm::JITCodeEmitter::emitAlignment(), llvm::JITCodeEmitter::emitWordBE(), llvm::JITCodeEmitter::getCurrentPCValue(), HI, llvm::sys::Memory::InvalidateInstructionCache(), JMP_INST, llvm_unreachable, LO, NOP_INST, SETHI_INST, llvm::sys::Memory::setRangeExecutable(), llvm::sys::Memory::setRangeWritable(), and SparcCompilationCallback().
|
virtual |
getLazyResolverFunction - Expose the lazy resolver to the JIT.
Reimplemented from llvm::TargetJITInfo.
Definition at line 128 of file SparcJITInfo.cpp.
References F(), JITCompilerFunction, and SparcCompilationCallback().
|
virtual |
Returns the maximum size and alignment for a call stub on this target.
Reimplemented from llvm::TargetJITInfo.
Definition at line 90 of file SparcJITInfo.cpp.
|
inline |
Initialize - Initialize internal stage for the function being JITted.
Definition at line 60 of file SparcJITInfo.h.
|
virtual |
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 136 of file SparcJITInfo.cpp.
References llvm::MachineRelocation::getMachineCodeOffset(), llvm::MachineRelocation::getRelocationType(), llvm::MachineRelocation::getResultPointer(), llvm::SP::reloc_sparc_hi, llvm::SP::reloc_sparc_lo, llvm::SP::reloc_sparc_pc19, llvm::SP::reloc_sparc_pc22, and llvm::SP::reloc_sparc_pc30.
|
virtual |
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 85 of file SparcJITInfo.cpp.