Instantiate FastISel for X86.
authorDan Gohman <gohman@apple.com>
Tue, 19 Aug 2008 21:45:35 +0000 (21:45 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 19 Aug 2008 21:45:35 +0000 (21:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55011 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FastISel.cpp [new file with mode: 0644]
lib/Target/X86/X86FastISel.h [new file with mode: 0644]
lib/Target/X86/X86ISelLowering.cpp

diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp
new file mode 100644 (file)
index 0000000..0c0660c
--- /dev/null
@@ -0,0 +1,20 @@
+//===-- X86FastISel.cpp - X86 FastISel implementation ---------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the X86-specific support for the FastISel class. Much
+// of the target-specific code is generated by tablegen in the file
+// X86GenFastISel.inc, which is #included here.
+//
+//===----------------------------------------------------------------------===//
+
+#include "X86.h"
+#include "X86RegisterInfo.h"
+#include "X86ISelLowering.h"
+#include "X86FastISel.h"
+#include "X86GenFastISel.inc"
diff --git a/lib/Target/X86/X86FastISel.h b/lib/Target/X86/X86FastISel.h
new file mode 100644 (file)
index 0000000..0f2b26a
--- /dev/null
@@ -0,0 +1,34 @@
+//===-- X86FastISel.h - X86 FastISel header -------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the interface to the X86-specific support for the FastISel
+// class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef X86FASTISEL_H
+#define X86FASTISEL_H
+
+namespace llvm {
+
+class FastISel;
+class MachineBasicBlock;
+class MachineFunction;
+class TargetInstrInfo;
+
+namespace X86 {
+
+FastISel *createFastISel(MachineBasicBlock *mbb, MachineFunction *mf,
+                         const TargetInstrInfo *tii);
+
+} // namespace X86
+
+} // namespace llvm
+
+#endif
index 3f49c11170c220c76ac841ab87681225f2a5f114..7cf74bf79ea5b52471e2aba1395b01b533e207ca 100644 (file)
@@ -17,6 +17,7 @@
 #include "X86ISelLowering.h"
 #include "X86MachineFunctionInfo.h"
 #include "X86TargetMachine.h"
+#include "X86FastISel.h"
 #include "llvm/CallingConv.h"
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
@@ -1872,8 +1873,7 @@ bool X86TargetLowering::IsEligibleForTailCallOptimization(SDValue Call,
 FastISel *X86TargetLowering::createFastISel(MachineBasicBlock *mbb,
                                             MachineFunction *mf,
                                             const TargetInstrInfo *tii) {
-  // FastISel isn't yet supported.
-  return 0;
+  return X86::createFastISel(mbb, mf, tii);
 }