Path: blob/main/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
35294 views
//===-- MipsMCTargetDesc.h - Mips 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 Mips specific target descriptions.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_H13#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_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 StringRef;29class Target;30class Triple;3132MCCodeEmitter *createMipsMCCodeEmitterEB(const MCInstrInfo &MCII,33MCContext &Ctx);34MCCodeEmitter *createMipsMCCodeEmitterEL(const MCInstrInfo &MCII,35MCContext &Ctx);3637MCAsmBackend *createMipsAsmBackend(const Target &T, const MCSubtargetInfo &STI,38const MCRegisterInfo &MRI,39const MCTargetOptions &Options);4041std::unique_ptr<MCObjectTargetWriter>42createMipsELFObjectWriter(const Triple &TT, bool IsN32);4344namespace MIPS_MC {45StringRef selectMipsCPU(const Triple &TT, StringRef CPU);46}4748} // End llvm namespace4950// Defines symbolic names for Mips registers. This defines a mapping from51// register name to register number.52#define GET_REGINFO_ENUM53#include "MipsGenRegisterInfo.inc"5455// Defines symbolic names for the Mips instructions.56#define GET_INSTRINFO_ENUM57#define GET_INSTRINFO_MC_HELPER_DECLS58#include "MipsGenInstrInfo.inc"5960#define GET_SUBTARGETINFO_ENUM61#include "MipsGenSubtargetInfo.inc"6263#endif646566