1 //===-- CSKYMCTargetDesc.h - CSKY Target Descriptions -----------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file provides CSKY specific target descriptions. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCTARGETDESC_H 14 #define LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCTARGETDESC_H 15 16 #include "llvm/MC/MCTargetOptions.h" 17 #include <memory> 18 19 namespace llvm { 20 class MCAsmBackend; 21 class MCCodeEmitter; 22 class MCContext; 23 class MCInstrInfo; 24 class MCRegisterInfo; 25 class MCObjectTargetWriter; 26 class MCRegisterInfo; 27 class MCSubtargetInfo; 28 class Target; 29 class Triple; 30 31 std::unique_ptr<MCObjectTargetWriter> createCSKYELFObjectWriter(); 32 33 MCAsmBackend *createCSKYAsmBackend(const Target &T, const MCSubtargetInfo &STI, 34 const MCRegisterInfo &MRI, 35 const MCTargetOptions &Options); 36 37 MCCodeEmitter *createCSKYMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx); 38 } // namespace llvm 39 40 #define GET_REGINFO_ENUM 41 #include "CSKYGenRegisterInfo.inc" 42 43 #define GET_INSTRINFO_ENUM 44 #define GET_INSTRINFO_MC_HELPER_DECLS 45 #include "CSKYGenInstrInfo.inc" 46 47 #define GET_SUBTARGETINFO_ENUM 48 #include "CSKYGenSubtargetInfo.inc" 49 50 #endif // LLVM_LIB_TARGET_CSKY_MCTARGETDESC_CSKYMCTARGETDESC_H 51