summaryrefslogtreecommitdiffstats
path: root/llvm
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
commitdaef7f43af6565ab16dea8a4888ad8ad57fa29ff (patch)
tree9d043be49afa5e16107ad9e815ed2f85b3b2136d /llvm
parent4619e93bd303d0d71a0c70e52a0cc816b345d1c7 (diff)
downloadbcm5719-llvm-daef7f43af6565ab16dea8a4888ad8ad57fa29ff.tar.gz
bcm5719-llvm-daef7f43af6565ab16dea8a4888ad8ad57fa29ff.zip
Instantiate FastISel for X86.
llvm-svn: 55011
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp20
-rw-r--r--llvm/lib/Target/X86/X86FastISel.h34
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4
3 files changed, 56 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
new file mode 100644
index 00000000000..0c0660c7832
--- /dev/null
+++ b/llvm/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/llvm/lib/Target/X86/X86FastISel.h b/llvm/lib/Target/X86/X86FastISel.h
new file mode 100644
index 00000000000..0f2b26a4d2f
--- /dev/null
+++ b/llvm/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/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 3f49c11170c..7cf74bf79ea 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/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);
}
OpenPOWER on IntegriCloud