LLVM 22.0.0git
BPFInstPrinter.h
Go to the documentation of this file.
1//===-- BPFInstPrinter.h - Convert BPF MCInst to asm syntax -------*- 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-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This class prints a BPF MCInst to a .s file.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_BPF_MCTARGETDESC_BPFINSTPRINTER_H
14#define LLVM_LIB_TARGET_BPF_MCTARGETDESC_BPFINSTPRINTER_H
15
17
18namespace llvm {
20public:
24
25 void printInst(const MCInst *MI, uint64_t Address, StringRef Annot,
26 const MCSubtargetInfo &STI, raw_ostream &O) override;
27 void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
28 void printMemOperand(const MCInst *MI, int OpNo, raw_ostream &O);
29 void printImm64Operand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
30 void printBrTargetOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
31
32 // Autogenerated by tblgen.
33 std::pair<const char *, uint64_t>
34 getMnemonic(const MCInst &MI) const override;
36 static const char *getRegisterName(MCRegister Reg);
37};
38}
39
40#endif
IRTranslator LLVM IR MI
Register Reg
void printBrTargetOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O)
static const char * getRegisterName(MCRegister Reg)
std::pair< const char *, uint64_t > getMnemonic(const MCInst &MI) const override
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by p...
void printImm64Operand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printMemOperand(const MCInst *MI, int OpNo, raw_ostream &O)
void printInst(const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
Print the specified MCInst to the specified raw_ostream.
BPFInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
This class is intended to be used as a base class for asm properties and features specific to the tar...
Definition MCAsmInfo.h:64
const MCInstrInfo & MII
const MCRegisterInfo & MRI
const MCAsmInfo & MAI
MCInstPrinter(const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
Instances of this class represent a single low-level machine instruction.
Definition MCInst.h:188
Interface to description of machine instruction set.
Definition MCInstrInfo.h:27
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Wrapper class representing physical registers. Should be passed by value.
Definition MCRegister.h:33
Generic base class for all target subtargets.
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition raw_ostream.h:53
This is an optimization pass for GlobalISel generic memory operations.