1 //===-- HexagonMCTargetDesc.h - Hexagon Target Descriptions -----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file provides Hexagon specific target descriptions.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_TARGET_HEXAGON_MCTARGETDESC_HEXAGONMCTARGETDESC_H
15 #define LLVM_LIB_TARGET_HEXAGON_MCTARGETDESC_HEXAGONMCTARGETDESC_H
18 struct InstrItinerary;
24 class MCSubtargetInfo;
27 extern Target TheHexagonTarget;
29 MCCodeEmitter *createHexagonMCCodeEmitter(const MCInstrInfo &MCII,
30 const MCRegisterInfo &MRI,
31 const MCSubtargetInfo &MST,
34 } // End llvm namespace
36 // Define symbolic names for Hexagon registers. This defines a mapping from
37 // register name to register number.
39 #define GET_REGINFO_ENUM
40 #include "HexagonGenRegisterInfo.inc"
42 // Defines symbolic names for the Hexagon instructions.
44 #define GET_INSTRINFO_ENUM
45 #include "HexagonGenInstrInfo.inc"
47 #define GET_SUBTARGETINFO_ENUM
48 #include "HexagonGenSubtargetInfo.inc"