LLVM API Documentation
#include "PPCJITInfo.h"#include "PPCRelocations.h"#include "PPCTargetMachine.h"#include "llvm/Function.h"#include "llvm/CodeGen/MachineCodeEmitter.h"#include "llvm/System/Memory.h"#include "llvm/Support/Debug.h"
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_ORIS(RD, RS, UIMM16) ((25 << 26) | ((RS) << 21) | ((RD) << 16) | ((UIMM16) & 65535)) |
| #define | BUILD_RLDICR(RD, RS, SH, ME) |
| #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_B(TARGET, LINK) ((18 << 26) | (((TARGET) & 0x00FFFFFF) << 2) | ((LINK) & 1)) |
| #define | BUILD_LIS(RD, IMM16) BUILD_ADDIS(RD,0,IMM16) |
| #define | BUILD_SLDI(RD, RS, IMM6) BUILD_RLDICR(RD,RS,IMM6,63-IMM6) |
| #define | BUILD_MTCTR(RS) BUILD_MTSPR(RS,9) |
| #define | BUILD_BCTR(LINK) BUILD_BCCTRx(20,0,LINK) |
Functions | |
| static void | EmitBranchToAt (uint64_t At, uint64_t To, bool isCall, bool is64Bit) |
| void | PPC32CompilationCallback () |
| void | PPC64CompilationCallback () |
| void * | PPCCompilationCallbackC (unsigned *StubCallAddrPlus4, unsigned *OrigCallAddrPlus4, bool is64Bit) |
Variables | |
| static TargetJITInfo::JITCompilerFn | JITCompilerFunction |
| #define BUILD_ADDIS | ( | RD, | |||
| RS, | |||||
| IMM16 | ) | ((15 << 26) | ((RD) << 21) | ((RS) << 16) | ((IMM16) & 65535)) |
Definition at line 26 of file PPCJITInfo.cpp.
| #define BUILD_B | ( | TARGET, | |||
| LINK | ) | ((18 << 26) | (((TARGET) & 0x00FFFFFF) << 2) | ((LINK) & 1)) |
| #define BUILD_BCCTRx | ( | BO, | |||
| BI, | |||||
| LINK | ) | ((19 << 26) | ((BO) << 21) | ((BI) << 16) | (528 << 1) | ((LINK) & 1)) |
Definition at line 37 of file PPCJITInfo.cpp.
| #define BUILD_BCTR | ( | LINK | ) | BUILD_BCCTRx(20,0,LINK) |
| #define BUILD_LIS | ( | RD, | |||
| IMM16 | ) | BUILD_ADDIS(RD,0,IMM16) |
Definition at line 35 of file PPCJITInfo.cpp.
| #define BUILD_RLDICR | ( | RD, | |||
| RS, | |||||
| SH, | |||||
| ME | ) |
Value:
((30 << 26) | ((RS) << 21) | ((RD) << 16) | (((SH) & 31) << 11) | \ (((ME) & 63) << 6) | (1 << 2) | ((((SH) >> 5) & 1) << 1))
Definition at line 32 of file PPCJITInfo.cpp.
| #define DEBUG_TYPE "jit" |
Definition at line 14 of file PPCJITInfo.cpp.
| static void EmitBranchToAt | ( | uint64_t | At, | |
| uint64_t | To, | |||
| bool | isCall, | |||
| bool | is64Bit | |||
| ) | [static] |
Definition at line 48 of file PPCJITInfo.cpp.
References BUILD_B, BUILD_BCTR, BUILD_LIS, BUILD_MTCTR, BUILD_ORI, BUILD_ORIS, BUILD_SLDI, and Offset.
| void PPC32CompilationCallback | ( | ) |
Definition at line 200 of file PPCJITInfo.cpp.
Referenced by llvm::PPCJITInfo::emitFunctionStub(), and llvm::PPCJITInfo::getLazyResolverFunction().
| void PPC64CompilationCallback | ( | ) |
Definition at line 267 of file PPCJITInfo.cpp.
Referenced by llvm::PPCJITInfo::emitFunctionStub(), and llvm::PPCJITInfo::getLazyResolverFunction().
| void* PPCCompilationCallbackC | ( | unsigned * | StubCallAddrPlus4, | |
| unsigned * | OrigCallAddrPlus4, | |||
| bool | is64Bit | |||
| ) |
Definition at line 273 of file PPCJITInfo.cpp.
References EmitBranchToAt(), JITCompilerFunction, and Offset.
TargetJITInfo::JITCompilerFn JITCompilerFunction [static] |
Definition at line 24 of file PPCJITInfo.cpp.