From: Chris Lattner Date: Mon, 2 Dec 2002 21:00:50 +0000 (+0000) Subject: Add stub to emit machine code for JIT X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=9f729a30b2e0648209f864da9da8aaa6a4be5e38;p=oota-llvm.git 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 --- diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index 484055635f7..0440cccdc5d 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