LLVM API Documentation
#include <AlphaJITInfo.h>
Public Member Functions | |
| AlphaJITInfo (TargetMachine &tm) | |
| 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 | |
| TargetMachine & | TM |
Definition at line 22 of file AlphaJITInfo.h.
| llvm::AlphaJITInfo::AlphaJITInfo | ( | TargetMachine & | tm | ) | [inline, explicit] |
| void * AlphaJITInfo::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 194 of file AlphaJITInfo.cpp.
References DOUT, EmitBranchToAt(), llvm::MachineCodeEmitter::emitWordLE(), llvm::MachineCodeEmitter::finishGVStub(), llvm::MachineCodeEmitter::getCurrentPCValue(), and llvm::MachineCodeEmitter::startGVStub().
| TargetJITInfo::LazyResolverFn AlphaJITInfo::getLazyResolverFunction | ( | JITCompilerFn | F | ) | [virtual] |
Definition at line 208 of file AlphaJITInfo.cpp.
References AlphaCompilationCallback(), and JITCompilerFunction.
| void AlphaJITInfo::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 238 of file AlphaJITInfo.cpp.
References DOUT, llvm::MachineRelocation::getConstantVal(), llvm::MachineRelocation::getGOTIndex(), getLower16(), llvm::MachineRelocation::getMachineCodeOffset(), llvm::MachineRelocation::getRelocationType(), llvm::MachineRelocation::getResultPointer(), getUpper16(), llvm::Alpha::reloc_bsr, llvm::Alpha::reloc_gpdist, llvm::Alpha::reloc_gprelhigh, llvm::Alpha::reloc_gprellow, and llvm::Alpha::reloc_literal.
| void AlphaJITInfo::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 73 of file AlphaJITInfo.cpp.
TargetMachine& llvm::AlphaJITInfo::TM [protected] |
Definition at line 24 of file AlphaJITInfo.h.