LLVM API Documentation
#include <MipsJITInfo.h>


Public Member Functions | |
| MipsJITInfo () | |
| virtual void | replaceMachineCodeForFunction (void *Old, void *New) |
| virtual StubLayout | getStubLayout () |
| Returns the maximum size and alignment for a call stub on this target. | |
| virtual void * | emitFunctionStub (const Function *F, void *Fn, JITCodeEmitter &JCE) |
| virtual LazyResolverFn | getLazyResolverFunction (JITCompilerFn) |
| getLazyResolverFunction - Expose the lazy resolver to the JIT. | |
| virtual void | relocate (void *Function, MachineRelocation *MR, unsigned NumRelocs, unsigned char *GOTBase) |
| void | Initialize (const MachineFunction &MF, bool isPIC, bool isLittleEndian) |
| Initialize - Initialize internal stage for the function being JITted. | |
Definition at line 26 of file MipsJITInfo.h.
| llvm::MipsJITInfo::MipsJITInfo | ( | ) | [inline, explicit] |
Definition at line 32 of file MipsJITInfo.h.
| void * MipsJITInfo::emitFunctionStub | ( | const Function * | F, |
| void * | Fn, | ||
| JITCodeEmitter & | JCE | ||
| ) | [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 202 of file MipsJITInfo.cpp.
References llvm::JITCodeEmitter::emitAlignment(), llvm::JITCodeEmitter::emitWordBE(), llvm::JITCodeEmitter::emitWordLE(), llvm::JITCodeEmitter::getCurrentPCValue(), llvm::HexagonISD::Hi, llvm::sys::Memory::InvalidateInstructionCache(), llvm_unreachable, llvm::HexagonISD::Lo, MipsCompilationCallback(), llvm::sys::Memory::setRangeExecutable(), and llvm::sys::Memory::setRangeWritable().
| TargetJITInfo::LazyResolverFn MipsJITInfo::getLazyResolverFunction | ( | JITCompilerFn | F | ) | [virtual] |
getLazyResolverFunction - Expose the lazy resolver to the JIT.
Reimplemented from llvm::TargetJITInfo.
Definition at line 189 of file MipsJITInfo.cpp.
References F(), JITCompilerFunction, and MipsCompilationCallback().
| TargetJITInfo::StubLayout MipsJITInfo::getStubLayout | ( | ) | [virtual] |
Returns the maximum size and alignment for a call stub on this target.
Reimplemented from llvm::TargetJITInfo.
Definition at line 195 of file MipsJITInfo.cpp.
| void llvm::MipsJITInfo::Initialize | ( | const MachineFunction & | MF, |
| bool | isPIC, | ||
| bool | isLittleEndian | ||
| ) | [inline] |
Initialize - Initialize internal stage for the function being JITted.
Definition at line 62 of file MipsJITInfo.h.
| void MipsJITInfo::relocate | ( | void * | Function, |
| MachineRelocation * | MR, | ||
| unsigned | NumRelocs, | ||
| unsigned char * | GOTBase | ||
| ) | [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 247 of file MipsJITInfo.cpp.
References llvm::MachineRelocation::getMachineCodeOffset(), llvm::MachineRelocation::getRelocationType(), llvm::MachineRelocation::getResultPointer(), llvm::Mips::reloc_mips_26, llvm::Mips::reloc_mips_hi, llvm::Mips::reloc_mips_lo, and llvm::Mips::reloc_mips_pc16.
| void MipsJITInfo::replaceMachineCodeForFunction | ( | void * | Old, |
| void * | New | ||
| ) | [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 29 of file MipsJITInfo.cpp.
References llvm::sys::Memory::InvalidateInstructionCache(), and llvm::report_fatal_error().