Instruction scheduling itinerary for Intel Atom.
[oota-llvm.git] / lib / Target / X86 / X86TargetMachine.h
index 16092b8e5aa25bb5dcf7b5169915bbd620ea04a0..0e0e2bafffe2bc8fe8dd8fb556e7d021a38e1a7b 100644 (file)
@@ -32,9 +32,10 @@ class formatted_raw_ostream;
 class StringRef;
 
 class X86TargetMachine : public LLVMTargetMachine {
-  X86Subtarget      Subtarget;
-  X86FrameLowering  FrameLowering;
-  X86ELFWriterInfo  ELFWriterInfo;
+  X86Subtarget       Subtarget;
+  X86FrameLowering   FrameLowering;
+  X86ELFWriterInfo   ELFWriterInfo;
+  InstrItineraryData InstrItins;
 
 public:
   X86TargetMachine(const Target &T, StringRef TT, 
@@ -65,6 +66,9 @@ public:
   virtual const X86ELFWriterInfo *getELFWriterInfo() const {
     return Subtarget.isTargetELF() ? &ELFWriterInfo : 0;
   }
+  virtual const InstrItineraryData *getInstrItineraryData() const {
+    return &InstrItins;
+  }
 
   // Set up the pass pipeline.
   virtual bool addInstSelector(PassManagerBase &PM);