Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.h
Line
Count
Source
1
//===-- SparcInstPrinter.h - Convert Sparc MCInst to assembly syntax ------===//
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 an Sparc MCInst to a .s file.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_SPARC_INSTPRINTER_SPARCINSTPRINTER_H
15
#define LLVM_LIB_TARGET_SPARC_INSTPRINTER_SPARCINSTPRINTER_H
16
17
#include "llvm/MC/MCInstPrinter.h"
18
19
namespace llvm {
20
21
class SparcInstPrinter : public MCInstPrinter {
22
public:
23
  SparcInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,
24
                   const MCRegisterInfo &MRI)
25
212
      : MCInstPrinter(MAI, MII, MRI) {}
26
27
  void printRegName(raw_ostream &OS, unsigned RegNo) const override;
28
  void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot,
29
                 const MCSubtargetInfo &STI) override;
30
  bool printSparcAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI,
31
                            raw_ostream &OS);
32
  bool isV9(const MCSubtargetInfo &STI) const;
33
34
  // Autogenerated by tblgen.
35
  void printInstruction(const MCInst *MI, const MCSubtargetInfo &STI,
36
                        raw_ostream &O);
37
  bool printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI,
38
                       raw_ostream &O);
39
  void printCustomAliasOperand(const MCInst *MI, unsigned OpIdx,
40
                               unsigned PrintMethodIdx,
41
                               const MCSubtargetInfo &STI, raw_ostream &O);
42
  static const char *getRegisterName(unsigned RegNo);
43
44
  void printOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI,
45
                    raw_ostream &OS);
46
  void printMemOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI,
47
                       raw_ostream &OS, const char *Modifier = nullptr);
48
  void printCCOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI,
49
                      raw_ostream &OS);
50
  bool printGetPCX(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
51
                   raw_ostream &OS);
52
};
53
} // end namespace llvm
54
55
#endif