Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jul 2011 04:01:38 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r224262 - in projects/llvm-ia64/contrib/llvm/lib/Target/IA64: . InstPrinter MCTargetDesc
Message-ID:  <201107220401.p6M41c7a098427@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Fri Jul 22 04:01:37 2011
New Revision: 224262
URL: http://svn.freebsd.org/changeset/base/224262

Log:
  Update to LLVM revision r132879.

Added:
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.cpp
     - copied unchanged from r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.h
     - copied unchanged from r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.h
Deleted:
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.h
Modified:
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.cpp
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.h
  projects/llvm-ia64/contrib/llvm/lib/Target/IA64/InstPrinter/IA64InstPrinter.h

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -1,6 +1,8 @@
 #ifndef LLVM_TARGET_IA64_H
 #define LLVM_TARGET_IA64_H
 
+#include "MCTargetDesc/IA64MCTargetDesc.h"
+
 #include "llvm/Target/TargetMachine.h"
 
 namespace llvm {
@@ -13,11 +15,6 @@ namespace llvm {
 
   FunctionPass *createIA64BundleSelectionPass();
 
-  extern Target TheIA64Target;
-
 } // namespace llvm
 
-#include "IA64GenRegisterNames.inc"
-#include "IA64GenInstrNames.inc"
-
 #endif // LLVM_TARGET_IA64_H

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64AsmPrinter.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64AsmPrinter.cpp	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64AsmPrinter.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -1,6 +1,5 @@
 #include "IA64.h"
 #include "IA64InstrInfo.h"
-#include "IA64MCAsmInfo.h"
 #include "IA64MCInstLower.h"
 #include "IA64TargetMachine.h"
 #include "InstPrinter/IA64InstPrinter.h"
@@ -14,6 +13,7 @@
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCInst.h"
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCSymbol.h"
@@ -113,11 +113,11 @@ IA64AsmPrinter::EmitInstruction(const Ma
 }
 
 static
-MCInstPrinter *createIA64MCInstPrinter(const Target &T, TargetMachine &TM,
-      unsigned SyntaxVariant, const MCAsmInfo &MAI)
+MCInstPrinter *createIA64MCInstPrinter(const Target &T, unsigned SyntaxVariant,
+	const MCAsmInfo &MAI)
 {
   if (SyntaxVariant == 0)
-    return new IA64InstPrinter(TM, MAI);
+    return new IA64InstPrinter(MAI);
   return 0;
 }
 
@@ -127,5 +127,5 @@ LLVMInitializeIA64AsmPrinter()
 {
   RegisterAsmPrinter<IA64AsmPrinter> X(TheIA64Target);
   TargetRegistry::RegisterMCInstPrinter(TheIA64Target,
-        createIA64MCInstPrinter);
+      createIA64MCInstPrinter);
 }

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.cpp	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -8,13 +8,15 @@
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/CodeGen/PseudoSourceValue.h"
 #include "llvm/Support/ErrorHandling.h"
+#include "llvm/Target/TargetRegistry.h"
 
+#define GET_INSTRINFO_CTOR
 #include "IA64GenInstrInfo.inc"
 
 using namespace llvm;
 
 IA64InstrInfo::IA64InstrInfo(IA64TargetMachine &tm) :
-    TargetInstrInfoImpl(IA64Insts, array_lengthof(IA64Insts)),
+    IA64GenInstrInfo(IA64::NOP, IA64::NOP),
     RI(tm, *this),
     TM(tm)
 {

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64InstrInfo.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -5,11 +5,14 @@
 
 #include "llvm/Target/TargetInstrInfo.h"
 
+#define GET_INSTRINFO_HEADER
+#include "IA64GenInstrInfo.inc"
+
 namespace llvm {
 
   class IA64TargetMachine;
 
-  class IA64InstrInfo : public TargetInstrInfoImpl {
+  class IA64InstrInfo : public IA64GenInstrInfo {
     const IA64RegisterInfo RI;
     IA64TargetMachine &TM;
 

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -11,12 +11,15 @@
 #include "llvm/ADT/BitVector.h"
 #include "llvm/Support/ErrorHandling.h"
 
+#define GET_REGINFO_TARGET_DESC
+#include "IA64GenRegisterInfo.inc"
+
 using namespace llvm;
 
 // FIXME: Provide proper call frame setup / destroy opcodes.
 IA64RegisterInfo::IA64RegisterInfo(IA64TargetMachine &tm,
-	const TargetInstrInfo &tii) :
-    IA64GenRegisterInfo(IA64::NOP, IA64::NOP),
+        const TargetInstrInfo &tii) :
+    IA64GenRegisterInfo(),
     TM(tm),
     TII(tii)
 {
@@ -107,5 +110,3 @@ IA64RegisterInfo::getRARegister() const
 {
   llvm_unreachable(__func__);
 }
-
-#include "IA64GenRegisterInfo.inc"

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -3,7 +3,8 @@
 
 #include "llvm/Target/TargetRegisterInfo.h"
 
-#include "IA64GenRegisterInfo.h.inc"
+#define GET_REGINFO_HEADER
+#include "IA64GenRegisterInfo.inc"
 
 namespace llvm {
 

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64RegisterInfo.td	Fri Jul 22 04:01:37 2011	(r224262)
@@ -3,7 +3,7 @@ class IA64Register<string name> : Regist
   let Namespace = "IA64";
 }
 
-class IA64RegisterClass<list<ValueType> types, int align, list<Register> regs> :
+class IA64RegisterClass<list<ValueType> types, int align, dag regs> :
     RegisterClass<"IA64", types, align, regs> {
 }
 
@@ -27,7 +27,7 @@ def B6 : IA64Register<"b6">, DwarfRegNum
 def B7 : IA64Register<"b7">, DwarfRegNum<[327]>;
 
 def BR : IA64RegisterClass<[i64], 64,
-    [B6, B7, B0, B1, B2, B3, B4, B5]>;
+    (add B6, B7, B0, B1, B2, B3, B4, B5)>;
 
 //
 // Control registers
@@ -68,8 +68,9 @@ def F30 : IA64Register<"f30">;
 def F31 : IA64Register<"f31">;
 
 def FR : IA64RegisterClass<[f128], 128,
-    [F0, F1, F2, F3, F4, F5, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17,
-     F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31]>;
+    (add F0, F1, F2, F3, F4, F5, F8, F9, F10, F11, F12, F13, F14, F15,
+     F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28,
+     F29, F30, F31)>;
 
 //
 // General registers
@@ -116,13 +117,13 @@ def R38 : IA64Register<"r38">, DwarfRegN
 def R39 : IA64Register<"r39">, DwarfRegNum<[39]>;
 
 def GR : IA64RegisterClass<[i64], 64,
-    [R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27,
-     R28, R29, R30, R31,
+    (add R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26,
+     R27, R28, R29, R30, R31,
      R8, R9, R10, R11,
      R2, R3,
      R32, R33, R34, R35, R36, R37, R38, R39,
      R4, R5, R6, R7,
-     R1, R12, R13, R0]>;
+     R1, R12, R13, R0)>;
 
 //
 // Pregicate registers
@@ -183,7 +184,8 @@ def P62 : IA64Register<"p62">;
 def P63 : IA64Register<"p63">;
 
 def P : IA64RegisterClass<[i1], 0,
-    [P0, P1, P2, P3, P4, P5, P16, P17, P18, P19, P20, P21, P22, P23, P24, P25,
-     P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36, P37, P38, P39, P40,
-     P41, P42, P43, P44, P45, P46, P47, P48, P49, P50, P51, P52, P53, P54, P55,
-     P56, P57, P58, P59, P60, P61, P62, P63]>;
+    (add P0, P1, P2, P3, P4, P5, P16, P17, P18, P19, P20, P21, P22, P23,
+     P24, P25, P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36,
+     P37, P38, P39, P40, P41, P42, P43, P44, P45, P46, P47, P48, P49,
+     P50, P51, P52, P53, P54, P55, P56, P57, P58, P59, P60, P61, P62,
+     P63)>;

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -2,19 +2,24 @@
 #include "IA64Subtarget.h"
 
 #include "llvm/Support/Host.h"
+#include "llvm/Target/TargetRegistry.h"
 
-#include "IA64GenSubtarget.inc"
+#define GET_SUBTARGETINFO_TARGET_DESC
+#define GET_SUBTARGETINFO_CTOR
+#include "IA64GenSubtargetInfo.inc"
 
 using namespace llvm;
 
-IA64Subtarget::IA64Subtarget(const std::string &TT, const std::string &FS)
+IA64Subtarget::IA64Subtarget(const std::string &TT, const std::string &CPU,
+        const std::string &FS) :
+    IA64GenSubtargetInfo(TT, CPU, FS)
 {
 #if defined(__ia64__)
-  std::string CPU = sys::getHostCPUName();
+  std::string CPUName = sys::getHostCPUName();
 #else
-  std::string CPU = "mckinley";
+  std::string CPUName = "mckinley";
 #endif
 
   // Parse features string.
-  ParseSubtargetFeatures(FS, CPU);
+  ParseSubtargetFeatures(CPUName, FS);
 }

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64Subtarget.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -1,24 +1,29 @@
 #ifndef LLVM_TARGET_IA64_SUBTARGET_H
 #define LLVM_TARGET_IA64_SUBTARGET_H
 
-#include "llvm/Target/TargetSubtarget.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
+
+#define GET_SUBTARGETINFO_HEADER
+#include "IA64GenSubtargetInfo.inc"
 
 #include <string>
 
 namespace llvm {
 
-  class IA64Subtarget : public TargetSubtarget {
+  class StringRef;
+
+  class IA64Subtarget : public IA64GenSubtargetInfo {
     bool HasLongBranch;
 
   public:
     /// This constructor initializes the data members to match that
     /// of the specified triple.
-    IA64Subtarget(const std::string &TT, const std::string &FS);
+    IA64Subtarget(const std::string &TT, const std::string &CPU,
+        const std::string &FS);
 
     /// ParseSubtargetFeatures - Parses features string setting specified
     /// subtarget options.  Definition of function is auto generated by tblgen.
-    std::string ParseSubtargetFeatures(const std::string &FS,
-	const std::string &CPU);
+    void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
   };
 
 } // End llvm namespace

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.cpp	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -1,5 +1,4 @@
 #include "IA64.h"
-#include "IA64MCAsmInfo.h"
 #include "IA64TargetMachine.h"
 
 #include "llvm/PassManager.h"
@@ -12,13 +11,12 @@ using namespace llvm;
 extern "C" void
 LLVMInitializeIA64Target() {
   RegisterTargetMachine<IA64TargetMachine> X(TheIA64Target);
-  RegisterAsmInfo<IA64MCAsmInfo> Z(TheIA64Target);
 }
 
 IA64TargetMachine::IA64TargetMachine(const Target &T, const std::string &TT,
-	const std::string &FS) :
-    LLVMTargetMachine(T, TT),
-    Subtarget(TT, FS),
+        const std::string &CPU, const std::string &FS) :
+    LLVMTargetMachine(T, TT, CPU, FS),
+    Subtarget(TT, CPU, FS),
     DataLayout("e-i64:64:64-f80:128:128-f128:128:128-n8:16:32:64"),
     InstrInfo(*this),
     TLInfo(*this),

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetMachine.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -23,7 +23,7 @@ namespace llvm {
 
   public:
     IA64TargetMachine(const Target &T, const std::string &TT,
-	const std::string &FS);
+	const std::string &CPU, const std::string &FS);
 
     virtual const TargetFrameLowering *getFrameLowering() const {
       return &FrameLowering;

Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/InstPrinter/IA64InstPrinter.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/InstPrinter/IA64InstPrinter.h	Fri Jul 22 01:57:26 2011	(r224261)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/InstPrinter/IA64InstPrinter.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -6,11 +6,10 @@
 namespace llvm {
 
   class MCOperand;
-  class TargetMachine;
 
   class IA64InstPrinter : public MCInstPrinter {
   public:
-    IA64InstPrinter(TargetMachine &TM, const MCAsmInfo &MAI) :
+    IA64InstPrinter(const MCAsmInfo &MAI) :
         MCInstPrinter(MAI) {}
 
     virtual void printInst(const MCInst *MI, raw_ostream &O);

Copied: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.cpp (from r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.cpp	Fri Jul 22 04:01:37 2011	(r224262, copy of r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.cpp)
@@ -0,0 +1,15 @@
+#include "IA64MCAsmInfo.h"
+
+using namespace llvm;
+
+IA64MCAsmInfo::IA64MCAsmInfo(const Target &T, StringRef TT) {
+  AsciiDirective = "\tstring\t";
+  AscizDirective = "\tstringz\t";
+  CommentString = "//";
+  Data8bitsDirective = "\tdata1\t";
+  Data16bitsDirective = "\tdata2\t";
+  Data32bitsDirective = "\tdata4\t";
+  Data64bitsDirective = "\tdata8\t";
+  GlobalDirective = "\t.global\t";
+  ZeroDirective = NULL;
+}

Copied: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.h (from r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCAsmInfo.h	Fri Jul 22 04:01:37 2011	(r224262, copy of r224255, projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64MCAsmInfo.h)
@@ -0,0 +1,16 @@
+#ifndef LLVM_TARGET_IA64_MCASMINFO_H
+#define LLVM_TARGET_IA64_MCASMINFO_H
+
+#include "llvm/ADT/StringRef.h"
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+
+  struct IA64MCAsmInfo : public MCAsmInfo {
+    explicit IA64MCAsmInfo(const Target &T, StringRef TT);
+  };
+
+} // namespace llvm
+
+#endif // LLVM_TARGET_IA64_MCASMINFO_H

Added: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.cpp	Fri Jul 22 04:01:37 2011	(r224262)
@@ -0,0 +1,53 @@
+#include "IA64MCTargetDesc.h"
+#include "IA64MCAsmInfo.h"
+#include "llvm/MC/MCInstrInfo.h"
+#include "llvm/MC/MCRegisterInfo.h"
+#include "llvm/MC/MCSubtargetInfo.h"
+#include "llvm/Target/TargetRegistry.h"
+
+#define GET_INSTRINFO_MC_DESC
+#include "IA64GenInstrInfo.inc"
+
+#define GET_SUBTARGETINFO_MC_DESC
+#include "IA64GenSubtargetInfo.inc"
+
+#define GET_REGINFO_MC_DESC
+#include "IA64GenRegisterInfo.inc"
+
+using namespace llvm;
+
+static
+MCInstrInfo *createIA64MCInstrInfo()
+{
+  MCInstrInfo *X = new MCInstrInfo();
+  InitIA64MCInstrInfo(X);
+  return X;
+}
+
+extern "C" void
+LLVMInitializeIA64MCInstrInfo()
+{
+  TargetRegistry::RegisterMCInstrInfo(TheIA64Target, createIA64MCInstrInfo);
+}
+
+static
+MCSubtargetInfo *createIA64MCSubtargetInfo(StringRef TT, StringRef CPU,
+      StringRef FS)
+{
+  MCSubtargetInfo *X = new MCSubtargetInfo();
+  InitIA64MCSubtargetInfo(X, TT, CPU, FS);
+  return X;
+}
+
+extern "C" void
+LLVMInitializeIA64MCSubtargetInfo()
+{
+  TargetRegistry::RegisterMCSubtargetInfo(TheIA64Target,
+      createIA64MCSubtargetInfo);
+}
+
+extern "C" void
+LLVMInitializeIA64MCAsmInfo()
+{
+  RegisterMCAsmInfo<IA64MCAsmInfo> X(TheIA64Target);
+}

Added: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/MCTargetDesc/IA64MCTargetDesc.h	Fri Jul 22 04:01:37 2011	(r224262)
@@ -0,0 +1,23 @@
+#ifndef LLVM_TARGET_IA64_MCTARGETDESC_H
+#define LLVM_TARGET_IA64_MCTARGETDESC_H
+
+namespace llvm {
+
+  class MCSubtargetInfo;
+  class Target;
+  class StringRef;
+
+  extern Target TheIA64Target;
+
+} // namespace llvm
+
+#define GET_REGINFO_ENUM
+#include "IA64GenRegisterInfo.inc"
+
+#define GET_INSTRINFO_ENUM
+#include "IA64GenInstrInfo.inc"
+
+#define GET_SUBTARGETINFO_ENUM
+#include "IA64GenSubtargetInfo.inc"
+
+#endif // LLVM_TARGET_IA64_MCTARGETDESC_H



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107220401.p6M41c7a098427>