Change createAsmParser to take a MCSubtargetInfo instead of triple,
[oota-llvm.git] / lib / Target / XCore / XCoreSubtarget.cpp
1 //===- XCoreSubtarget.cpp - XCore Subtarget Information -----------*- C++ -*-=//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file implements the XCore specific subclass of TargetSubtargetInfo.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #include "XCoreSubtarget.h"
15 #include "XCore.h"
16 #include "llvm/Target/TargetRegistry.h"
17
18 #define GET_SUBTARGETINFO_ENUM
19 #define GET_SUBTARGETINFO_MC_DESC
20 #define GET_SUBTARGETINFO_TARGET_DESC
21 #define GET_SUBTARGETINFO_CTOR
22 #include "XCoreGenSubtargetInfo.inc"
23
24 using namespace llvm;
25
26 XCoreSubtarget::XCoreSubtarget(const std::string &TT,
27                                const std::string &CPU, const std::string &FS)
28   : XCoreGenSubtargetInfo(TT, CPU, FS)
29 {
30 }
31
32
33 MCSubtargetInfo *createXCoreMCSubtargetInfo(StringRef TT, StringRef CPU,
34                                             StringRef FS) {
35   MCSubtargetInfo *X = new MCSubtargetInfo();
36   InitXCoreMCSubtargetInfo(X, CPU, FS);
37   return X;
38 }
39
40 extern "C" void LLVMInitializeXCoreMCSubtargetInfo() {
41   TargetRegistry::RegisterMCSubtargetInfo(TheXCoreTarget,
42                                           createXCoreMCSubtargetInfo);
43 }