X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FPowerPC%2FPPCJITInfo.h;h=2e25b295f432f65d032ac51da4db596d21d68309;hb=c5ea263a23f4f15587e35c9cb07cf72a9fba7613;hp=05c5b9a6d3fe15e7e16c4e248bb0272ecd00b8d8;hpb=1deb74d7ee65308ec08c261482c659e89e3a11f6;p=oota-llvm.git diff --git a/lib/Target/PowerPC/PPCJITInfo.h b/lib/Target/PowerPC/PPCJITInfo.h index 05c5b9a6d3f..2e25b295f43 100644 --- a/lib/Target/PowerPC/PPCJITInfo.h +++ b/lib/Target/PowerPC/PPCJITInfo.h @@ -1,10 +1,10 @@ -//===- PowerPCJITInfo.h - PowerPC impl. of the JIT interface ----*- C++ -*-===// -// +//===- PPCJITInfo.h - PowerPC impl. of the JIT interface --------*- C++ -*-===// +// // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// //===----------------------------------------------------------------------===// // // This file contains the PowerPC implementation of the TargetJITInfo class. @@ -15,21 +15,26 @@ #define POWERPC_JITINFO_H #include "llvm/Target/TargetJITInfo.h" +#include "llvm/CodeGen/JITCodeEmitter.h" namespace llvm { - class TargetMachine; + class PPCTargetMachine; - class PowerPCJITInfo : public TargetJITInfo { + class PPCJITInfo : public TargetJITInfo { protected: - TargetMachine &TM; + PPCTargetMachine &TM; + bool is64Bit; public: - PowerPCJITInfo(TargetMachine &tm) : TM(tm) {} + PPCJITInfo(PPCTargetMachine &tm, bool tmIs64Bit) : TM(tm) { + useGOT = 0; + is64Bit = tmIs64Bit; + } - /// addPassesToJITCompile - Add passes to the specified pass manager to - /// implement a fast dynamic compiler for this target. Return true if this - /// is not supported for this target. - /// - virtual void addPassesToJITCompile(FunctionPassManager &PM); + virtual void *emitFunctionStub(const Function* F, void *Fn, + JITCodeEmitter &JCE); + virtual LazyResolverFn getLazyResolverFunction(JITCompilerFn); + virtual void relocate(void *Function, MachineRelocation *MR, + unsigned NumRelocs, unsigned char* GOTBase); /// replaceMachineCodeForFunction - Make it so that calling the function /// whose machine code is at OLD turns into a call to NEW, perhaps by