brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · ab35a00 Raw
56 lines · c
1//===- LoongArchMCTargetDesc.h - LoongArch 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-exception6//7//===----------------------------------------------------------------------===//8//9// This file provides LoongArch specific target descriptions.10//11//===----------------------------------------------------------------------===//12 13#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H14#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H15 16#include "llvm/MC/MCTargetOptions.h"17#include "llvm/Support/DataTypes.h"18#include <memory>19 20namespace llvm {21class MCAsmBackend;22class MCCodeEmitter;23class MCContext;24class MCInstrInfo;25class MCObjectTargetWriter;26class MCRegisterInfo;27class MCSubtargetInfo;28class Target;29 30MCCodeEmitter *createLoongArchMCCodeEmitter(const MCInstrInfo &MCII,31                                            MCContext &Ctx);32 33MCAsmBackend *createLoongArchAsmBackend(const Target &T,34                                        const MCSubtargetInfo &STI,35                                        const MCRegisterInfo &MRI,36                                        const MCTargetOptions &Options);37 38std::unique_ptr<MCObjectTargetWriter>39createLoongArchELFObjectWriter(uint8_t OSABI, bool Is64Bit);40 41} // end namespace llvm42 43// Defines symbolic names for LoongArch registers.44#define GET_REGINFO_ENUM45#include "LoongArchGenRegisterInfo.inc"46 47// Defines symbolic names for LoongArch instructions.48#define GET_INSTRINFO_ENUM49#define GET_INSTRINFO_MC_HELPER_DECLS50#include "LoongArchGenInstrInfo.inc"51 52#define GET_SUBTARGETINFO_ENUM53#include "LoongArchGenSubtargetInfo.inc"54 55#endif // LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H56