54 lines · c
1//===-- VEMCTargetDesc.h - VE 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 VE specific target descriptions.10//11//===----------------------------------------------------------------------===//12 13#ifndef LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCTARGETDESC_H14#define LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCTARGETDESC_H15 16#include "llvm/Support/DataTypes.h"17 18#include <memory>19 20namespace llvm {21class MCAsmBackend;22class MCCodeEmitter;23class MCContext;24class MCInstrInfo;25class MCObjectTargetWriter;26class MCRegisterInfo;27class MCSubtargetInfo;28class MCTargetOptions;29class Target;30 31MCCodeEmitter *createVEMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx);32MCAsmBackend *createVEAsmBackend(const Target &T, const MCSubtargetInfo &STI,33 const MCRegisterInfo &MRI,34 const MCTargetOptions &Options);35std::unique_ptr<MCObjectTargetWriter> createVEELFObjectWriter(uint8_t OSABI);36} // namespace llvm37 38// Defines symbolic names for VE registers. This defines a mapping from39// register name to register number.40//41#define GET_REGINFO_ENUM42#include "VEGenRegisterInfo.inc"43 44// Defines symbolic names for the VE instructions.45//46#define GET_INSTRINFO_ENUM47#define GET_INSTRINFO_MC_HELPER_DECLS48#include "VEGenInstrInfo.inc"49 50#define GET_SUBTARGETINFO_ENUM51#include "VEGenSubtargetInfo.inc"52 53#endif54