aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetMachine.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-12-02 21:00:50 +0000
committerChris Lattner <sabre@nondot.org>2002-12-02 21:00:50 +0000
commit9f729a30b2e0648209f864da9da8aaa6a4be5e38 (patch)
tree0ca2315b8b23818373440af396a0bdfced559e64 /include/llvm/Target/TargetMachine.h
parentb45b3b3cd14faaf5a3ea5226af7e1e3cd653e6cb (diff)
downloadexternal_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.h26
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