Path: blob/main/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h
35294 views
//===-- VEMCTargetDesc.h - VE 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 VE specific target descriptions.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCTARGETDESC_H13#define LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCTARGETDESC_H1415#include "llvm/Support/DataTypes.h"1617#include <memory>1819namespace llvm {20class MCAsmBackend;21class MCCodeEmitter;22class MCContext;23class MCInstrInfo;24class MCObjectTargetWriter;25class MCRegisterInfo;26class MCSubtargetInfo;27class MCTargetOptions;28class Target;2930MCCodeEmitter *createVEMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx);31MCAsmBackend *createVEAsmBackend(const Target &T, const MCSubtargetInfo &STI,32const MCRegisterInfo &MRI,33const MCTargetOptions &Options);34std::unique_ptr<MCObjectTargetWriter> createVEELFObjectWriter(uint8_t OSABI);35} // namespace llvm3637// Defines symbolic names for VE registers. This defines a mapping from38// register name to register number.39//40#define GET_REGINFO_ENUM41#include "VEGenRegisterInfo.inc"4243// Defines symbolic names for the VE instructions.44//45#define GET_INSTRINFO_ENUM46#define GET_INSTRINFO_MC_HELPER_DECLS47#include "VEGenInstrInfo.inc"4849#define GET_SUBTARGETINFO_ENUM50#include "VEGenSubtargetInfo.inc"5152#endif535455