From: Brian Gaeke Date: Fri, 23 Jan 2004 06:35:43 +0000 (+0000) Subject: Add CodeEmitter and JITInfo stubs. Dump the old X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7b0cd6d6cb2a3674156df2a1d388a9e3332b5b3e;p=oota-llvm.git Add CodeEmitter and JITInfo stubs. Dump the old PowerPCTargetMachine::addPassesToJITCompile() method, in favor of the TargetJITInfo interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10971 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PowerPCJITInfo.h b/lib/Target/PowerPC/PowerPCJITInfo.h new file mode 100644 index 00000000000..bd808515991 --- /dev/null +++ b/lib/Target/PowerPC/PowerPCJITInfo.h @@ -0,0 +1,49 @@ +//===- PowerPCJITInfo.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 contains the PowerPC implementation of the TargetJITInfo class. +// +//===----------------------------------------------------------------------===// + +#ifndef POWERPCJITINFO_H +#define POWERPCJITINFO_H + +#include "llvm/Target/TargetJITInfo.h" + +namespace llvm { + class TargetMachine; + class IntrinsicLowering; + + class PowerPCJITInfo : public TargetJITInfo { + TargetMachine &TM; + public: + PowerPCJITInfo(TargetMachine &tm) : TM(tm) {} + + /// 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); + + /// 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. + /// + virtual void replaceMachineCodeForFunction(void *Old, void *New); + + /// getJITStubForFunction - Create or return a stub for the specified + /// function. This stub acts just like the specified function, except that + /// it allows the "address" of the function to be taken without having to + /// generate code for it. + virtual void *getJITStubForFunction(Function *F, MachineCodeEmitter &MCE); + }; +} + +#endif diff --git a/lib/Target/PowerPC/PowerPCTargetMachine.cpp b/lib/Target/PowerPC/PowerPCTargetMachine.cpp index 11b5a799b12..3cf8c374e44 100644 --- a/lib/Target/PowerPC/PowerPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PowerPCTargetMachine.cpp @@ -43,11 +43,9 @@ bool PowerPCTargetMachine::addPassesToEmitAssembly(PassManager &PM, } /// 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. +/// implement a fast dynamic compiler for this target. /// -bool PowerPCTargetMachine::addPassesToJITCompile(FunctionPassManager &PM) { - return true; +void PowerPCJITInfo::addPassesToJITCompile(FunctionPassManager &PM) { } } // end namespace llvm