aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-08-19 21:45:35 +0000
committerDan Gohman <gohman@apple.com>2008-08-19 21:45:35 +0000
commit1adf1b03af9b1e2ee5a527caa5b14c9d55a32173 (patch)
treeb081ffa9ec9368103efdff2910eaab34d09e5e03
parentd9f3c480a7bc0969b08ace68af7dcde40f6caff1 (diff)
Instantiate FastISel for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55011 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86FastISel.cpp20
-rw-r--r--lib/Target/X86/X86FastISel.h34
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp4
3 files changed, 56 insertions, 2 deletions
diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp
new file mode 100644
index 0000000000..0c0660c783
--- /dev/null
+++ b/lib/Target/X86/X86FastISel.cpp
@@ -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
index 0000000000..0f2b26a4d2
--- /dev/null
+++ b/lib/Target/X86/X86FastISel.h
@@ -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
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 3f49c11170..7cf74bf79e 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -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);
}