LLVM  3.7.0
SystemZAsmPrinter.h
Go to the documentation of this file.
1 //===-- SystemZAsmPrinter.h - SystemZ LLVM assembly printer ----*- 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 #ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZASMPRINTER_H
11 #define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZASMPRINTER_H
12 
13 #include "SystemZTargetMachine.h"
15 #include "llvm/Support/Compiler.h"
16 
17 namespace llvm {
18 class MCStreamer;
19 class MachineBasicBlock;
20 class MachineInstr;
21 class Module;
22 class raw_ostream;
23 
25 public:
26  SystemZAsmPrinter(TargetMachine &TM, std::unique_ptr<MCStreamer> Streamer)
27  : AsmPrinter(TM, std::move(Streamer)) {}
28 
29  // Override AsmPrinter.
30  const char *getPassName() const override {
31  return "SystemZ Assembly Printer";
32  }
33  void EmitInstruction(const MachineInstr *MI) override;
34  void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) override;
35  bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
36  unsigned AsmVariant, const char *ExtraCode,
37  raw_ostream &OS) override;
38  bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
39  unsigned AsmVariant, const char *ExtraCode,
40  raw_ostream &OS) override;
41 };
42 } // end namespace llvm
43 
44 #endif
SystemZAsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)
const char * getPassName() const override
getPassName - Return a nice clean name for a pass.
This class is intended to be used as a driving class for all asm writers.
Definition: AsmPrinter.h:66
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
Definition: Compiler.h:110
Abstract base class for all machine specific constantpool value subclasses.
Representation of each machine instruction.
Definition: MachineInstr.h:51
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:38
Primary interface to the complete machine description for the target machine.