LLVM: lib/Target/LoongArch/LoongArchAsmPrinter.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHASMPRINTER_H

14#define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHASMPRINTER_H

15

21

22namespace llvm {

23

25public:

26 static char ID;

27

28private:

30

31public:

33 std::unique_ptr Streamer)

35

37 return "LoongArch Assembly Printer";

38 }

39

41

42 void emitInstruction(const MachineInstr *MI) override;

43

44 bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,

45 const char *ExtraCode, raw_ostream &OS) override;

46 bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,

47 const char *ExtraCode, raw_ostream &OS) override;

48

50 void LowerPATCHABLE_FUNCTION_ENTER(const MachineInstr &MI);

51 void LowerPATCHABLE_FUNCTION_EXIT(const MachineInstr &MI);

52 void LowerPATCHABLE_TAIL_CALL(const MachineInstr &MI);

54

55

57

58

62 void emitJumpTableInfo() override;

63};

64

65}

66

67#endif

#define LLVM_LIBRARY_VISIBILITY

TargetMachine & TM

Target machine description.

AsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer, char &ID=AsmPrinter::ID)

LoongArchAsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)

Definition LoongArchAsmPrinter.h:32

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition LoongArchAsmPrinter.h:36

static char ID

Definition LoongArchAsmPrinter.h:26

bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp) const

Definition LoongArchAsmPrinter.h:59

bool lowerPseudoInstExpansion(const MachineInstr *MI, MCInst &Inst)

Instances of this class represent a single low-level machine instruction.

Instances of this class represent operands of the MCInst class.

Generic base class for all target subtargets.

Representation of each machine instruction.

MachineOperand class - Representation of each machine instruction operand.

StringRef - Represent a constant reference to a string, i.e.

Primary interface to the complete machine description for the target machine.

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

bool lowerLoongArchMachineOperandToMCOperand(const MachineOperand &MO, MCOperand &MCOp, const AsmPrinter &AP)

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.