diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2004-06-21 16:55:25 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-06-21 16:55:25 +0000 |
commit | 5dfe3a9c3bd9091f9adecc909665d52bdd4edd8c (patch) | |
tree | 212bdacc535069a5718dbc33375cb3e1f69ce363 /lib/Target/PowerPC/PPCJITInfo.h | |
parent | 31b24322edc0bcfb8c77277fc5eeebfe98267118 (diff) | |
download | llvm-5dfe3a9c3bd9091f9adecc909665d52bdd4edd8c.tar.gz llvm-5dfe3a9c3bd9091f9adecc909665d52bdd4edd8c.tar.bz2 llvm-5dfe3a9c3bd9091f9adecc909665d52bdd4edd8c.tar.xz |
Initial revision
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14283 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCJITInfo.h')
-rw-r--r-- | lib/Target/PowerPC/PPCJITInfo.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCJITInfo.h b/lib/Target/PowerPC/PPCJITInfo.h new file mode 100644 index 0000000000..bd80851599 --- /dev/null +++ b/lib/Target/PowerPC/PPCJITInfo.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 |