Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.h
Line
Count
Source
1
//== XCoreInstPrinter.h - Convert XCore MCInst to assembly 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
/// \file
11
/// \brief This file contains the declaration of the XCoreInstPrinter class,
12
/// which is used to print XCore MCInst to a .s file.
13
///
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_LIB_TARGET_XCORE_INSTPRINTER_XCOREINSTPRINTER_H
17
#define LLVM_LIB_TARGET_XCORE_INSTPRINTER_XCOREINSTPRINTER_H
18
19
#include "llvm/ADT/StringRef.h"
20
#include "llvm/MC/MCInstPrinter.h"
21
22
namespace llvm {
23
24
class XCoreInstPrinter : public MCInstPrinter {
25
public:
26
  XCoreInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,
27
                  const MCRegisterInfo &MRI)
28
70
    : MCInstPrinter(MAI, MII, MRI) {}
29
30
  // Autogenerated by tblgen.
31
  void printInstruction(const MCInst *MI, raw_ostream &O);
32
  static const char *getRegisterName(unsigned RegNo);
33
34
  void printRegName(raw_ostream &OS, unsigned RegNo) const override;
35
  void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot,
36
                 const MCSubtargetInfo &STI) override;
37
38
private:
39
  void printInlineJT(const MCInst *MI, int opNum, raw_ostream &O);
40
  void printInlineJT32(const MCInst *MI, int opNum, raw_ostream &O);
41
  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
42
  void printMemOperand(const MCInst *MI, int opNum, raw_ostream &O);
43
};
44
45
} // end namespace llvm
46
47
#endif // LLVM_LIB_TARGET_XCORE_INSTPRINTER_XCOREINSTPRINTER_H