diff options
author | Chris Lattner <sabre@nondot.org> | 2002-12-02 21:00:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-12-02 21:00:50 +0000 |
commit | 9f729a30b2e0648209f864da9da8aaa6a4be5e38 (patch) | |
tree | 0ca2315b8b23818373440af396a0bdfced559e64 /include/llvm/Target/TargetMachine.h | |
parent | b45b3b3cd14faaf5a3ea5226af7e1e3cd653e6cb (diff) | |
download | external_llvm-9f729a30b2e0648209f864da9da8aaa6a4be5e38.zip external_llvm-9f729a30b2e0648209f864da9da8aaa6a4be5e38.tar.gz external_llvm-9f729a30b2e0648209f864da9da8aaa6a4be5e38.tar.bz2 |
Add stub to emit machine code for JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4856 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetMachine.h')
-rw-r--r-- | include/llvm/Target/TargetMachine.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index 4840556..0440ccc 100644 --- a/include/llvm/Target/TargetMachine.h +++ b/include/llvm/Target/TargetMachine.h @@ -17,6 +17,7 @@ class MachineRegInfo; class MachineFrameInfo; class MachineCacheInfo; class MachineOptInfo; +class MachineCodeEmitter; class MRegisterInfo; class PassManager; class Pass; @@ -77,20 +78,31 @@ public: // virtual unsigned findOptimalStorageSize(const Type* ty) const; + /// 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 bool addPassesToJITCompile(PassManager &PM) { return true; } + /// addPassesToEmitAssembly - Add passes to the specified pass manager to get - /// assembly langage code emited. Typically this will involve several steps - /// of code generation. This method should return true if code generation is - /// not supported. + /// assembly langage code emitted. Typically this will involve several steps + /// of code generation. This method should return true if assembly emission + /// is not supported. /// virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) { return true; } - /// 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. + /// addPassesToEmitMachineCode - Add passes to the specified pass manager to + /// get machine code emitted. This uses a MAchineCodeEmitter object to handle + /// actually outputting the machine code and resolving things like the address + /// of functions. This method should returns true if machine code emission is + /// not supported. /// - virtual bool addPassesToJITCompile(PassManager &PM) { return true; } + virtual bool addPassesToEmitMachineCode(PassManager &PM, + MachineCodeEmitter *MCE) { + return true; + } }; #endif |