LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PPC32JITInfo.cpp File Reference

#include "PPC32JITInfo.h"
#include "PPC32Relocations.h"
#include "llvm/CodeGen/MachineCodeEmitter.h"
#include "llvm/Config/alloca.h"
#include <set>

Include dependency graph for PPC32JITInfo.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "jit"
#define BUILD_ADDIS(RD, RS, IMM16)   ((15 << 26) | ((RD) << 21) | ((RS) << 16) | ((IMM16) & 65535))
#define BUILD_ORI(RD, RS, UIMM16)   ((24 << 26) | ((RS) << 21) | ((RD) << 16) | ((UIMM16) & 65535))
#define BUILD_MTSPR(RS, SPR)   ((31 << 26) | ((RS) << 21) | ((SPR) << 16) | (467 << 1))
#define BUILD_BCCTRx(BO, BI, LINK)   ((19 << 26) | ((BO) << 21) | ((BI) << 16) | (528 << 1) | ((LINK) & 1))
#define BUILD_LIS(RD, IMM16)   BUILD_ADDIS(RD,0,IMM16)
#define BUILD_MTCTR(RS)   BUILD_MTSPR(RS,9)
#define BUILD_BCTR(LINK)   BUILD_BCCTRx(20,0,LINK)

Functions

static void EmitBranchToAt (void *At, void *To, bool isCall)
void PPC32CompilationCallback ()
void PPC32CompilationCallbackC (unsigned *IntRegs, double *FPRegs)

Variables

static TargetJITInfo::JITCompilerFn JITCompilerFunction


Define Documentation

#define BUILD_ADDIS RD,
RS,
IMM16   )     ((15 << 26) | ((RD) << 21) | ((RS) << 16) | ((IMM16) & 65535))
 

Definition at line 24 of file PPC32JITInfo.cpp.

#define BUILD_BCCTRx BO,
BI,
LINK   )     ((19 << 26) | ((BO) << 21) | ((BI) << 16) | (528 << 1) | ((LINK) & 1))
 

Definition at line 30 of file PPC32JITInfo.cpp.

#define BUILD_BCTR LINK   )     BUILD_BCCTRx(20,0,LINK)
 

Definition at line 36 of file PPC32JITInfo.cpp.

Referenced by EmitBranchToAt().

#define BUILD_LIS RD,
IMM16   )     BUILD_ADDIS(RD,0,IMM16)
 

Definition at line 34 of file PPC32JITInfo.cpp.

Referenced by EmitBranchToAt().

#define BUILD_MTCTR RS   )     BUILD_MTSPR(RS,9)
 

Definition at line 35 of file PPC32JITInfo.cpp.

Referenced by EmitBranchToAt().

#define BUILD_MTSPR RS,
SPR   )     ((31 << 26) | ((RS) << 21) | ((SPR) << 16) | (467 << 1))
 

Definition at line 28 of file PPC32JITInfo.cpp.

#define BUILD_ORI RD,
RS,
UIMM16   )     ((24 << 26) | ((RS) << 21) | ((RD) << 16) | ((UIMM16) & 65535))
 

Definition at line 26 of file PPC32JITInfo.cpp.

Referenced by EmitBranchToAt(), llvm::SparcV9JITInfo::emitFunctionStub(), and InsertJumpAtAddr().

#define DEBUG_TYPE   "jit"
 

Definition at line 14 of file PPC32JITInfo.cpp.


Function Documentation

static void EmitBranchToAt void *  At,
void *  To,
bool  isCall
[static]
 

Definition at line 39 of file PPC32JITInfo.cpp.

References BUILD_BCTR, BUILD_LIS, BUILD_MTCTR, and BUILD_ORI.

Referenced by llvm::PPC32JITInfo::emitFunctionStub(), PPC32CompilationCallbackC(), and llvm::PPC32JITInfo::replaceMachineCodeForFunction().

void PPC32CompilationCallback  ) 
 

Definition at line 82 of file PPC32JITInfo.cpp.

References abort().

Referenced by llvm::PPC32JITInfo::emitFunctionStub(), and llvm::PPC32JITInfo::getLazyResolverFunction().

void PPC32CompilationCallbackC unsigned *  IntRegs,
double *  FPRegs
 

Definition at line 88 of file PPC32JITInfo.cpp.

References EmitBranchToAt(), JITCompilerFunction, and Target.


Variable Documentation

TargetJITInfo::JITCompilerFn JITCompilerFunction [static]
 

Definition at line 22 of file PPC32JITInfo.cpp.

Referenced by CompilationCallback(), llvm::X86JITInfo::getLazyResolverFunction(), llvm::SparcV9JITInfo::getLazyResolverFunction(), llvm::PPC32JITInfo::getLazyResolverFunction(), and PPC32CompilationCallbackC().