Mercurial > hg > CbC > CbC_llvm
comparison lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h @ 147:c2174574ed3a
LLVM 10
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 16:55:33 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
134:3a76565eade5 | 147:c2174574ed3a |
---|---|
1 //===-- SparcInstPrinter.h - Convert Sparc MCInst to assembly syntax ------===// | |
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 an Sparc MCInst to a .s file. | |
10 // | |
11 //===----------------------------------------------------------------------===// | |
12 | |
13 #ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCINSTPRINTER_H | |
14 #define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCINSTPRINTER_H | |
15 | |
16 #include "llvm/MC/MCInstPrinter.h" | |
17 | |
18 namespace llvm { | |
19 | |
20 class SparcInstPrinter : public MCInstPrinter { | |
21 public: | |
22 SparcInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, | |
23 const MCRegisterInfo &MRI) | |
24 : MCInstPrinter(MAI, MII, MRI) {} | |
25 | |
26 void printRegName(raw_ostream &OS, unsigned RegNo) const override; | |
27 void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot, | |
28 const MCSubtargetInfo &STI) override; | |
29 bool printSparcAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, | |
30 raw_ostream &OS); | |
31 bool isV9(const MCSubtargetInfo &STI) const; | |
32 | |
33 // Autogenerated by tblgen. | |
34 void printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, | |
35 raw_ostream &O); | |
36 bool printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, | |
37 raw_ostream &O); | |
38 void printCustomAliasOperand(const MCInst *MI, unsigned OpIdx, | |
39 unsigned PrintMethodIdx, | |
40 const MCSubtargetInfo &STI, raw_ostream &O); | |
41 static const char *getRegisterName(unsigned RegNo); | |
42 | |
43 void printOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI, | |
44 raw_ostream &OS); | |
45 void printMemOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI, | |
46 raw_ostream &OS, const char *Modifier = nullptr); | |
47 void printCCOperand(const MCInst *MI, int opNum, const MCSubtargetInfo &STI, | |
48 raw_ostream &OS); | |
49 bool printGetPCX(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, | |
50 raw_ostream &OS); | |
51 void printMembarTag(const MCInst *MI, int opNum, const MCSubtargetInfo &STI, | |
52 raw_ostream &O); | |
53 }; | |
54 } // end namespace llvm | |
55 | |
56 #endif |