1 //===-- Nios2MCTargetDesc.h - Nios2 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 Nios2 specific target descriptions. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_LIB_TARGET_NIOS2_MCTARGETDESC_NIOS2MCTARGETDESC_H 15 #define LLVM_LIB_TARGET_NIOS2_MCTARGETDESC_NIOS2MCTARGETDESC_H 16 17 #include <memory> 18 19 namespace llvm { 20 class MCAsmBackend; 21 class MCObjectTargetWriter; 22 class MCRegisterInfo; 23 class MCSubtargetInfo; 24 class MCTargetOptions; 25 class Target; 26 class Triple; 27 class StringRef; 28 class raw_pwrite_stream; 29 30 Target &getTheNios2Target(); 31 32 MCAsmBackend *createNios2AsmBackend(const Target &T, const MCSubtargetInfo &STI, 33 const MCRegisterInfo &MRI, 34 const MCTargetOptions &Options); 35 36 std::unique_ptr<MCObjectTargetWriter> createNios2ELFObjectWriter(uint8_t OSABI); 37 38 } // namespace llvm 39 40 // Defines symbolic names for Nios2 registers. This defines a mapping from 41 // register name to register number. 42 #define GET_REGINFO_ENUM 43 #include "Nios2GenRegisterInfo.inc" 44 45 // Defines symbolic names for the Nios2 instructions. 46 #define GET_INSTRINFO_ENUM 47 #include "Nios2GenInstrInfo.inc" 48 49 #define GET_SUBTARGETINFO_ENUM 50 #include "Nios2GenSubtargetInfo.inc" 51 52 #endif 53