LLVM API Documentation

Public Member Functions
llvm::MipsJITInfo Class Reference

#include <MipsJITInfo.h>

Inheritance diagram for llvm::MipsJITInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::MipsJITInfo:
Collaboration graph
[legend]

List of all members.

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.

Detailed Description

Definition at line 26 of file MipsJITInfo.h.


Constructor & Destructor Documentation

llvm::MipsJITInfo::MipsJITInfo ( ) [inline, explicit]

Definition at line 32 of file MipsJITInfo.h.


Member Function Documentation

void * MipsJITInfo::emitFunctionStub ( const Function F,
void *  Fn,
JITCodeEmitter JCE 
) [virtual]
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().


The documentation for this class was generated from the following files: