[llvm-commits] [llvm] r55011 - in /llvm/trunk/lib/Target/X86: X86FastISel.cpp X86FastISel.h X86ISelLowering.cpp

Dan Gohman gohman at apple.com
Tue Aug 19 14:45:35 PDT 2008


Author: djg
Date: Tue Aug 19 16:45:35 2008
New Revision: 55011

URL: http://llvm.org/viewvc/llvm-project?rev=55011&view=rev
Log:
Instantiate FastISel for X86.

Added:
    llvm/trunk/lib/Target/X86/X86FastISel.cpp
    llvm/trunk/lib/Target/X86/X86FastISel.h
Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Added: llvm/trunk/lib/Target/X86/X86FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FastISel.cpp?rev=55011&view=auto

==============================================================================
--- llvm/trunk/lib/Target/X86/X86FastISel.cpp (added)
+++ llvm/trunk/lib/Target/X86/X86FastISel.cpp Tue Aug 19 16:45:35 2008
@@ -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"

Added: llvm/trunk/lib/Target/X86/X86FastISel.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FastISel.h?rev=55011&view=auto

==============================================================================
--- llvm/trunk/lib/Target/X86/X86FastISel.h (added)
+++ llvm/trunk/lib/Target/X86/X86FastISel.h Tue Aug 19 16:45:35 2008
@@ -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

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=55011&r1=55010&r2=55011&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Tue Aug 19 16:45:35 2008
@@ -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 @@
 FastISel *X86TargetLowering::createFastISel(MachineBasicBlock *mbb,
                                             MachineFunction *mf,
                                             const TargetInstrInfo *tii) {
-  // FastISel isn't yet supported.
-  return 0;
+  return X86::createFastISel(mbb, mf, tii);
 }
 
 





More information about the llvm-commits mailing list