Convert backend to use passes, implement X86TargetMachine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4421 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h
new file mode 100644
index 0000000..863eb60
--- /dev/null
+++ b/lib/Target/X86/X86TargetMachine.h
@@ -0,0 +1,32 @@
+//===-- X86TargetMachine.h - Define TargetMachine for the X86 ---*- C++ -*-===//
+//
+// This file declares the X86 specific subclass of TargetMachine.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef X86TARGETMACHINE_H
+#define X86TARGETMACHINE_H
+
+#include "llvm/Target/TargetMachine.h"
+#include "X86InstrInfo.h"
+
+class X86TargetMachine : public TargetMachine {
+ X86InstrInfo instrInfo;
+public:
+ X86TargetMachine();
+
+ virtual const MachineInstrInfo &getInstrInfo() const { return instrInfo; }
+ virtual const MachineSchedInfo &getSchedInfo() const { abort(); }
+ virtual const MachineRegInfo &getRegInfo() const { abort(); }
+ virtual const MachineFrameInfo &getFrameInfo() const { abort(); }
+ virtual const MachineCacheInfo &getCacheInfo() const { abort(); }
+ virtual const MachineOptInfo &getOptInfo() const { abort(); }
+
+ /// 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);
+};
+
+#endif