JIT should print LLVM each function before selecting instructions for it.
[oota-llvm.git] / lib / Target / Sparc / SparcTargetMachine.h
index ae77fb293543f0a09cd0a8bd2c0445b483d2df0e..86bfa8d99040e71045f3cf71bf81f4f7188f1c92 100644 (file)
@@ -23,6 +23,7 @@
 namespace llvm {
 
 class IntrinsicLowering;
+class Module;
 
 class SparcV8TargetMachine : public TargetMachine {
   SparcV8InstrInfo InstrInfo;
@@ -31,8 +32,8 @@ class SparcV8TargetMachine : public TargetMachine {
 public:
   SparcV8TargetMachine(const Module &M, IntrinsicLowering *IL);
 
-  virtual const SparcV8InstrInfo     &getInstrInfo() const { return InstrInfo; }
-  virtual const TargetFrameInfo  &getFrameInfo() const { return FrameInfo; }
+  virtual const SparcV8InstrInfo *getInstrInfo() const { return &InstrInfo; }
+  virtual const TargetFrameInfo  *getFrameInfo() const { return &FrameInfo; }
   virtual const MRegisterInfo *getRegisterInfo() const {
     return &InstrInfo.getRegisterInfo();
   }
@@ -40,9 +41,8 @@ public:
     return &JITInfo;
   }
 
-  virtual const TargetSchedInfo &getSchedInfo()  const { abort(); }
-  virtual const TargetRegInfo   &getRegInfo()    const { abort(); }
-  virtual const TargetCacheInfo  &getCacheInfo() const { abort(); }
+  static unsigned getModuleMatchQuality(const Module &M);
+  static unsigned getJITMatchQuality();
 
   /// addPassesToEmitMachineCode - Add passes to the specified pass manager to
   /// get machine code emitted.  This uses a MachineCodeEmitter object to handle