[llvm-commits] CVS: llvm/include/llvm/Target/TargetMachine.h
Chris Lattner
lattner at cs.uiuc.edu
Mon Dec 2 15:02:01 PST 2002
Changes in directory llvm/include/llvm/Target:
TargetMachine.h updated: 1.20 -> 1.21
---
Log message:
Add stub to emit machine code for JIT
---
Diffs of the changes:
Index: llvm/include/llvm/Target/TargetMachine.h
diff -u llvm/include/llvm/Target/TargetMachine.h:1.20 llvm/include/llvm/Target/TargetMachine.h:1.21
--- llvm/include/llvm/Target/TargetMachine.h:1.20 Wed Nov 20 12:54:53 2002
+++ llvm/include/llvm/Target/TargetMachine.h Mon Dec 2 15:00:50 2002
@@ -17,6 +17,7 @@
class MachineFrameInfo;
class MachineCacheInfo;
class MachineOptInfo;
+class MachineCodeEmitter;
class MRegisterInfo;
class PassManager;
class Pass;
@@ -77,20 +78,31 @@
//
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
More information about the llvm-commits
mailing list