Path: blob/main/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZGNUInstPrinter.h
213845 views
//=- SystemZGNUInstPrinter.h - Convert SystemZ MCInst to assembly -*- 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 class prints a SystemZ MCInst to a .s file in GNU assembly format.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZGNUINSTPRINTER_H13#define LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZGNUINSTPRINTER_H1415#include "SystemZInstPrinterCommon.h"16#include "llvm/MC/MCInstPrinter.h"17#include <cstdint>1819namespace llvm {2021class MCOperand;2223class SystemZGNUInstPrinter : public SystemZInstPrinterCommon {24public:25SystemZGNUInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,26const MCRegisterInfo &MRI)27: SystemZInstPrinterCommon(MAI, MII, MRI) {}2829// Automatically generated by tblgen.30std::pair<const char *, uint64_t>31getMnemonic(const MCInst &MI) const override;32void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O);33static const char *getRegisterName(MCRegister Reg);3435// Override MCInstPrinter.36void printInst(const MCInst *MI, uint64_t Address, StringRef Annot,37const MCSubtargetInfo &STI, raw_ostream &O) override;3839private:40void printFormattedRegName(const MCAsmInfo *MAI, MCRegister Reg,41raw_ostream &O) override;42};4344} // end namespace llvm4546#endif // LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZGNUINSTPRINTER_H474849