blob: 5b3f7448ec9a94e0919427b14a3e716b72f8d978 [file] [log] [blame]
Evan Chengbc153d42011-07-14 20:59:42 +00001//===-- SparcMCTargetDesc.h - Sparc 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 Sparc specific target descriptions.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef SPARCMCTARGETDESC_H
15#define SPARCMCTARGETDESC_H
16
17namespace llvm {
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000018class MCAsmBackend;
19class MCCodeEmitter;
20class MCContext;
21class MCInstrInfo;
22class MCRegisterInfo;
23class MCSubtargetInfo;
Evan Chengbc153d42011-07-14 20:59:42 +000024class Target;
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000025class StringRef;
Evan Chengbc153d42011-07-14 20:59:42 +000026
27extern Target TheSparcTarget;
28extern Target TheSparcV9Target;
29
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000030MCCodeEmitter *createSparcMCCodeEmitter(const MCInstrInfo &MCII,
31 const MCRegisterInfo &MRI,
32 const MCSubtargetInfo &STI,
33 MCContext &Ctx);
34MCAsmBackend *createSparcAsmBackend(const Target &T,
35 const MCRegisterInfo &MRI,
36 StringRef TT,
37 StringRef CPU);
38
Evan Chengbc153d42011-07-14 20:59:42 +000039} // End llvm namespace
40
41// Defines symbolic names for Sparc registers. This defines a mapping from
42// register name to register number.
43//
44#define GET_REGINFO_ENUM
45#include "SparcGenRegisterInfo.inc"
46
47// Defines symbolic names for the Sparc instructions.
48//
49#define GET_INSTRINFO_ENUM
50#include "SparcGenInstrInfo.inc"
51
52#define GET_SUBTARGETINFO_ENUM
53#include "SparcGenSubtargetInfo.inc"
54
55#endif