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 } 44