blob: c8029a8c594c9cdfe99864ad97bc5711d0d056b5 [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
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000017#include "llvm/Support/DataTypes.h"
18
Evan Chengbc153d42011-07-14 20:59:42 +000019namespace llvm {
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000020class MCAsmBackend;
21class MCCodeEmitter;
22class MCContext;
23class MCInstrInfo;
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000024class MCObjectWriter;
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000025class MCRegisterInfo;
26class MCSubtargetInfo;
Evan Chengbc153d42011-07-14 20:59:42 +000027class Target;
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000028class StringRef;
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000029class raw_ostream;
Evan Chengbc153d42011-07-14 20:59:42 +000030
31extern Target TheSparcTarget;
32extern Target TheSparcV9Target;
33
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000034MCCodeEmitter *createSparcMCCodeEmitter(const MCInstrInfo &MCII,
35 const MCRegisterInfo &MRI,
36 const MCSubtargetInfo &STI,
37 MCContext &Ctx);
38MCAsmBackend *createSparcAsmBackend(const Target &T,
39 const MCRegisterInfo &MRI,
40 StringRef TT,
41 StringRef CPU);
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000042MCObjectWriter *createSparcELFObjectWriter(raw_ostream &OS,
43 bool Is64Bit,
44 uint8_t OSABI);
Evan Chengbc153d42011-07-14 20:59:42 +000045} // End llvm namespace
46
47// Defines symbolic names for Sparc registers. This defines a mapping from
48// register name to register number.
49//
50#define GET_REGINFO_ENUM
51#include "SparcGenRegisterInfo.inc"
52
53// Defines symbolic names for the Sparc instructions.
54//
55#define GET_INSTRINFO_ENUM
56#include "SparcGenInstrInfo.inc"
57
58#define GET_SUBTARGETINFO_ENUM
59#include "SparcGenSubtargetInfo.inc"
60
61#endif