Path: blob/main/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h
35295 views
//===-- LanaiMCTargetDesc.h - Lanai Target Descriptions ---------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file provides Lanai specific target descriptions.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIMCTARGETDESC_H13#define LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIMCTARGETDESC_H1415#include "llvm/MC/MCRegisterInfo.h"16#include "llvm/MC/MCTargetOptions.h"17#include "llvm/Support/DataTypes.h"1819namespace llvm {20class MCAsmBackend;21class MCCodeEmitter;22class MCContext;23class MCInstrInfo;24class MCObjectTargetWriter;25class MCSubtargetInfo;26class Target;2728MCCodeEmitter *createLanaiMCCodeEmitter(const MCInstrInfo &MCII,29MCContext &Ctx);3031MCAsmBackend *createLanaiAsmBackend(const Target &T, const MCSubtargetInfo &STI,32const MCRegisterInfo &MRI,33const MCTargetOptions &Options);3435std::unique_ptr<MCObjectTargetWriter> createLanaiELFObjectWriter(uint8_t OSABI);36} // namespace llvm3738// Defines symbolic names for Lanai registers. This defines a mapping from39// register name to register number.40#define GET_REGINFO_ENUM41#include "LanaiGenRegisterInfo.inc"4243// Defines symbolic names for the Lanai instructions.44#define GET_INSTRINFO_ENUM45#define GET_INSTRINFO_MC_HELPER_DECLS46#include "LanaiGenInstrInfo.inc"4748#define GET_SUBTARGETINFO_ENUM49#include "LanaiGenSubtargetInfo.inc"5051#endif // LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIMCTARGETDESC_H525354