1 //===-- ARMMCTargetDesc.h - ARM Target Descriptions -------------*- 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 provides ARM specific target descriptions. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef ARMMCTARGETDESC_H 15 #define ARMMCTARGETDESC_H 16 17 #include <string> 18 19 namespace llvm { 20 class MCSubtargetInfo; 21 class Target; 22 class StringRef; 23 24 extern Target TheARMTarget, TheThumbTarget; 25 26 namespace ARM_MC { 27 std::string ParseARMTriple(StringRef TT); 28 29 /// createARMMCSubtargetInfo - Create a ARM MCSubtargetInfo instance. 30 /// This is exposed so Asm parser, etc. do not need to go through 31 /// TargetRegistry. 32 MCSubtargetInfo *createARMMCSubtargetInfo(StringRef TT, StringRef CPU, 33 StringRef FS); 34 } 35 36 } // End llvm namespace 37 38 // Defines symbolic names for ARM registers. This defines a mapping from 39 // register name to register number. 40 // 41 #define GET_REGINFO_ENUM 42 #include "ARMGenRegisterInfo.inc" 43 44 // Defines symbolic names for the ARM instructions. 45 // 46 #define GET_INSTRINFO_ENUM 47 #include "ARMGenInstrInfo.inc" 48 49 #define GET_SUBTARGETINFO_ENUM 50 #include "ARMGenSubtargetInfo.inc" 51 52 #endif 53