diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2004-01-23 06:35:43 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2004-01-23 06:35:43 +0000 |
commit | 7b0cd6d6cb2a3674156df2a1d388a9e3332b5b3e (patch) | |
tree | 9523078b47b866d64269e5e5e58cb044a2d2c328 | |
parent | 091f7760810061bafb8b284bdb30403cf68bfc3a (diff) |
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
-rw-r--r-- | lib/Target/PowerPC/PowerPCJITInfo.h | 49 | ||||
-rw-r--r-- | lib/Target/PowerPC/PowerPCTargetMachine.cpp | 6 |
2 files changed, 51 insertions, 4 deletions
diff --git a/lib/Target/PowerPC/PowerPCJITInfo.h b/lib/Target/PowerPC/PowerPCJITInfo.h new file mode 100644 index 0000000000..bd80851599 --- /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 11b5a799b1..3cf8c374e4 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 |