Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/BPF/InstPrinter/BPFInstPrinter.h
Line
Count
Source
1
//===-- BPFInstPrinter.h - Convert BPF MCInst to asm syntax -------*- C++ -*--//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This class prints a BPF MCInst to a .s file.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_BPF_INSTPRINTER_BPFINSTPRINTER_H
15
#define LLVM_LIB_TARGET_BPF_INSTPRINTER_BPFINSTPRINTER_H
16
17
#include "llvm/MC/MCInstPrinter.h"
18
19
namespace llvm {
20
class BPFInstPrinter : public MCInstPrinter {
21
public:
22
  BPFInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,
23
                 const MCRegisterInfo &MRI)
24
48
      : MCInstPrinter(MAI, MII, MRI) {}
25
26
  void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot,
27
                 const MCSubtargetInfo &STI) override;
28
  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O,
29
                    const char *Modifier = nullptr);
30
  void printMemOperand(const MCInst *MI, int OpNo, raw_ostream &O,
31
                       const char *Modifier = nullptr);
32
  void printImm64Operand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
33
34
  // Autogenerated by tblgen.
35
  void printInstruction(const MCInst *MI, raw_ostream &O);
36
  static const char *getRegisterName(unsigned RegNo);
37
};
38
}
39
40
#endif