blob: 74701e3516dc1455229739a492f23cebf06a15e1 [file] [log] [blame]
Evan Cheng78a9f132011-07-06 22:02:34 +00001//===-- 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
Evan Cheng94ca42f2011-07-07 00:08:19 +000017#include <string>
18
Evan Cheng78a9f132011-07-06 22:02:34 +000019namespace llvm {
Evan Chengebdeeab2011-07-08 01:53:10 +000020class MCSubtargetInfo;
Evan Cheng78a9f132011-07-06 22:02:34 +000021class Target;
Evan Cheng94ca42f2011-07-07 00:08:19 +000022class StringRef;
Evan Cheng78a9f132011-07-06 22:02:34 +000023
24extern Target TheARMTarget, TheThumbTarget;
Evan Cheng94ca42f2011-07-07 00:08:19 +000025
26namespace ARM_MC {
Evan Chengdb068732011-07-07 08:26:46 +000027 std::string ParseARMTriple(StringRef TT);
Evan Chengebdeeab2011-07-08 01:53:10 +000028
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);
Evan Cheng94ca42f2011-07-07 00:08:19 +000034}
35
Evan Cheng78a9f132011-07-06 22:02:34 +000036} // 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
Evan Chengc60f9b72011-07-14 20:59:42 +000049#define GET_SUBTARGETINFO_ENUM
50#include "ARMGenSubtargetInfo.inc"
51
Evan Cheng78a9f132011-07-06 22:02:34 +000052#endif