LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 SYSTEMZASMPRINTER_H
11 #define 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 private:
26  const SystemZSubtarget *Subtarget;
27 
28 public:
30  : AsmPrinter(TM, Streamer) {
31  Subtarget = &TM.getSubtarget<SystemZSubtarget>();
32  }
33 
34  // Override AsmPrinter.
35  virtual const char *getPassName() const LLVM_OVERRIDE {
36  return "SystemZ Assembly Printer";
37  }
38  virtual void EmitInstruction(const MachineInstr *MI) LLVM_OVERRIDE;
39  virtual void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV)
41  virtual bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
42  unsigned AsmVariant, const char *ExtraCode,
44  virtual bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
45  unsigned AsmVariant,
46  const char *ExtraCode,
48  virtual void EmitEndOfAsmFile(Module &M) LLVM_OVERRIDE;
49 };
50 } // end namespace llvm
51 
52 #endif
The main container class for the LLVM Intermediate Representation.
Definition: Module.h:112
#define LLVM_LIBRARY_VISIBILITY
Definition: Compiler.h:173
const STC & getSubtarget() const
virtual const char * getPassName() const LLVM_OVERRIDE
SystemZAsmPrinter(TargetMachine &TM, MCStreamer &Streamer)
#define LLVM_OVERRIDE
Definition: Compiler.h:155