Path: blob/main/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h
35294 views
//===-- AVRMCTargetDesc.h - AVR 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 AVR specific target descriptions.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_AVR_MCTARGET_DESC_H13#define LLVM_AVR_MCTARGET_DESC_H1415#include "llvm/Support/DataTypes.h"1617#include <memory>1819namespace llvm {2021class MCAsmBackend;22class MCCodeEmitter;23class MCContext;24class MCInstrInfo;25class MCObjectTargetWriter;26class MCRegisterInfo;27class MCSubtargetInfo;28class MCTargetOptions;29class Target;3031MCInstrInfo *createAVRMCInstrInfo();3233/// Creates a machine code emitter for AVR.34MCCodeEmitter *createAVRMCCodeEmitter(const MCInstrInfo &MCII,35MCContext &Ctx);3637/// Creates an assembly backend for AVR.38MCAsmBackend *createAVRAsmBackend(const Target &T, const MCSubtargetInfo &STI,39const MCRegisterInfo &MRI,40const llvm::MCTargetOptions &TO);4142/// Creates an ELF object writer for AVR.43std::unique_ptr<MCObjectTargetWriter> createAVRELFObjectWriter(uint8_t OSABI);4445} // end namespace llvm4647#define GET_REGINFO_ENUM48#include "AVRGenRegisterInfo.inc"4950#define GET_INSTRINFO_ENUM51#define GET_INSTRINFO_MC_HELPER_DECLS52#include "AVRGenInstrInfo.inc"5354#define GET_SUBTARGETINFO_ENUM55#include "AVRGenSubtargetInfo.inc"5657#endif // LLVM_AVR_MCTARGET_DESC_H585960