LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::SparcJITInfo Class Reference

#include <SparcJITInfo.h>

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

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...
 
- Public Member Functions inherited from llvm::TargetJITInfo
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

- Public Types inherited from llvm::TargetJITInfo
typedef void(* LazyResolverFn )()
 
typedef void *(* JITCompilerFn )(void *)
 
- Protected Attributes inherited from llvm::TargetJITInfo
bool useGOT
 

Detailed Description

Definition at line 24 of file SparcJITInfo.h.

Constructor & Destructor Documentation

llvm::SparcJITInfo::SparcJITInfo ( )
inlineexplicit

Definition at line 29 of file SparcJITInfo.h.

Member Function Documentation

void * SparcJITInfo::emitFunctionStub ( const Function F,
void *  Fn,
JITCodeEmitter JCE 
)
virtual
TargetJITInfo::LazyResolverFn SparcJITInfo::getLazyResolverFunction ( JITCompilerFn  F)
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().

TargetJITInfo::StubLayout SparcJITInfo::getStubLayout ( )
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.

void llvm::SparcJITInfo::Initialize ( const MachineFunction MF,
bool  isPIC 
)
inline

Initialize - Initialize internal stage for the function being JITted.

Definition at line 60 of file SparcJITInfo.h.

void SparcJITInfo::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 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.

void SparcJITInfo::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 85 of file SparcJITInfo.cpp.


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