LLVM: lib/Target/Hexagon/HexagonAsmPrinter.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONASMPRINTER_H

14#define LLVM_LIB_TARGET_HEXAGON_HEXAGONASMPRINTER_H

15

20#include

21

22namespace llvm {

23

28

30 public:

31 static char ID;

32

33 private:

35

36 void emitAttributes();

37

38 public:

40 std::unique_ptr Streamer)

42

51

53 return "Hexagon Assembly Printer";

54 }

55

57 const override;

58

60

61

62

63

64

69

71

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

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

79 };

80

81}

82

83#endif

TargetMachine & TM

Target machine description.

void emitXRayTable()

Emit a table with all XRay instrumentation points.

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

bool runOnMachineFunction(MachineFunction &MF) override

Emit the specified function out to the OutStreamer.

void LowerPATCHABLE_FUNCTION_ENTER(const MachineInstr &MI)

void EmitSled(const MachineInstr &MI, SledKind Kind)

void LowerPATCHABLE_FUNCTION_EXIT(const MachineInstr &MI)

bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, const char *ExtraCode, raw_ostream &OS) override

Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant as...

bool isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB) const override

Return true if the basic block has exactly one predecessor and the control transfer mechanism between...

bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, const char *ExtraCode, raw_ostream &OS) override

PrintAsmOperand - Print out an operand for an inline asm expression.

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition HexagonAsmPrinter.h:52

void emitInstruction(const MachineInstr *MI) override

Print out a single Hexagon MI to the current output stream.

void emitEndOfAsmFile(Module &M) override

This virtual method can be overridden by targets that want to emit something at the end of their file...

void LowerPATCHABLE_TAIL_CALL(const MachineInstr &MI)

void emitStartOfAsmFile(Module &M) override

This virtual method can be overridden by targets that want to emit something at the start of their fi...

static char ID

Definition HexagonAsmPrinter.h:31

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

Definition HexagonAsmPrinter.h:39

bool runOnMachineFunction(MachineFunction &Fn) override

Emit the specified function out to the OutStreamer.

Definition HexagonAsmPrinter.h:43

void printOperand(const MachineInstr *MI, unsigned OpNo, raw_ostream &O)

void HexagonProcessInstruction(MCInst &Inst, const MachineInstr &MBB)

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

const TargetSubtargetInfo & getSubtarget() const

getSubtarget - Return the subtarget for which this machine code is being compiled.

Representation of each machine instruction.

A Module instance is used to store all the information related to an LLVM module.

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.

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.