LLVM API Documentation
#include <PPCJITInfo.h>


Public Member Functions | |
| PPCJITInfo (PPCTargetMachine &tm, bool tmIs64Bit) | |
| virtual void * | emitFunctionStub (const Function *F, void *Fn, MachineCodeEmitter &MCE) |
| virtual LazyResolverFn | getLazyResolverFunction (JITCompilerFn) |
| virtual void | relocate (void *Function, MachineRelocation *MR, unsigned NumRelocs, unsigned char *GOTBase) |
| virtual void | replaceMachineCodeForFunction (void *Old, void *New) |
Protected Attributes | |
| PPCTargetMachine & | TM |
| bool | is64Bit |
Definition at line 22 of file PPCJITInfo.h.
| llvm::PPCJITInfo::PPCJITInfo | ( | PPCTargetMachine & | tm, | |
| bool | tmIs64Bit | |||
| ) | [inline] |
| void * PPCJITInfo::emitFunctionStub | ( | const Function * | F, | |
| void * | Fn, | |||
| MachineCodeEmitter & | MCE | |||
| ) | [virtual] |
emitFunctionStub - Use the specified MachineCodeEmitter object to emit a small native function that simply calls the function at the specified address. Return the address of the resultant function.
Reimplemented from llvm::TargetJITInfo.
Definition at line 332 of file PPCJITInfo.cpp.
References EmitBranchToAt(), llvm::MachineCodeEmitter::emitWordBE(), llvm::MachineCodeEmitter::finishGVStub(), llvm::MachineCodeEmitter::getCurrentPCValue(), llvm::PPCTargetMachine::getSubtargetImpl(), llvm::sys::Memory::InvalidateInstructionCache(), is64Bit, llvm::PPCSubtarget::isMachoABI(), PPC32CompilationCallback(), PPC64CompilationCallback(), llvm::MachineCodeEmitter::startGVStub(), and TM.
| TargetJITInfo::LazyResolverFn PPCJITInfo::getLazyResolverFunction | ( | JITCompilerFn | Fn | ) | [virtual] |
Definition at line 322 of file PPCJITInfo.cpp.
References is64Bit, JITCompilerFunction, PPC32CompilationCallback(), and PPC64CompilationCallback().
| void PPCJITInfo::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 381 of file PPCJITInfo.cpp.
References llvm::MachineRelocation::getConstantVal(), llvm::MachineRelocation::getMachineCodeOffset(), llvm::MachineRelocation::getRelocationType(), llvm::MachineRelocation::getResultPointer(), llvm::PPC::reloc_absolute_high, llvm::PPC::reloc_absolute_low, llvm::PPC::reloc_absolute_low_ix, llvm::PPC::reloc_pcrel_bcx, and llvm::PPC::reloc_pcrel_bx.
| void PPCJITInfo::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 436 of file PPCJITInfo.cpp.
References EmitBranchToAt(), and is64Bit.
PPCTargetMachine& llvm::PPCJITInfo::TM [protected] |
bool llvm::PPCJITInfo::is64Bit [protected] |
Definition at line 25 of file PPCJITInfo.h.
Referenced by emitFunctionStub(), getLazyResolverFunction(), PPCJITInfo(), and replaceMachineCodeForFunction().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.