diff options
Diffstat (limited to 'llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h')
| -rw-r--r-- | llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h new file mode 100644 index 000000000000..e576b9a49cd6 --- /dev/null +++ b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h @@ -0,0 +1,54 @@ +//===- LoongArchMCTargetDesc.h - LoongArch Target Descriptions --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file provides LoongArch specific target descriptions. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H +#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H + +#include "llvm/MC/MCTargetOptions.h" +#include "llvm/Support/DataTypes.h" +#include <memory> + +namespace llvm { +class MCAsmBackend; +class MCCodeEmitter; +class MCContext; +class MCInstrInfo; +class MCObjectTargetWriter; +class MCRegisterInfo; +class MCSubtargetInfo; +class Target; + +MCCodeEmitter *createLoongArchMCCodeEmitter(const MCInstrInfo &MCII, + MCContext &Ctx); + +MCAsmBackend *createLoongArchAsmBackend(const Target &T, + const MCSubtargetInfo &STI, + const MCRegisterInfo &MRI, + const MCTargetOptions &Options); + +std::unique_ptr<MCObjectTargetWriter> +createLoongArchELFObjectWriter(uint8_t OSABI, bool Is64Bit); + +} // namespace llvm + +// Defines symbolic names for LoongArch registers. +#define GET_REGINFO_ENUM +#include "LoongArchGenRegisterInfo.inc" + +// Defines symbolic names for LoongArch instructions. +#define GET_INSTRINFO_ENUM +#include "LoongArchGenInstrInfo.inc" + +#define GET_SUBTARGETINFO_ENUM +#include "LoongArchGenSubtargetInfo.inc" + +#endif // LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHMCTARGETDESC_H |
