1//===-- AMDGPUAsmPrinter.h - Print AMDGPU assembly code -------------------===//
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// AMDGPU Assembly printer class.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef AMDGPU_ASMPRINTER_H
15#define AMDGPU_ASMPRINTER_H
16
17#include "llvm/CodeGen/AsmPrinter.h"
18
19namespace llvm {
20
21class AMDGPUAsmPrinter : public AsmPrinter {
22
23public:
24  explicit AMDGPUAsmPrinter(TargetMachine &TM, MCStreamer &Streamer)
25    : AsmPrinter(TM, Streamer) { }
26
27  virtual bool runOnMachineFunction(MachineFunction &MF);
28
29  virtual const char *getPassName() const {
30    return "AMDGPU Assembly Printer";
31  }
32
33  /// EmitProgramInfo - Emit register usage information so that the GPU driver
34  /// can correctly setup the GPU state.
35  void EmitProgramInfo(MachineFunction &MF);
36
37  /// EmitInstuction - Implemented in AMDGPUMCInstLower.cpp
38  virtual void EmitInstruction(const MachineInstr *MI);
39};
40
41} // End anonymous llvm
42
43#endif //AMDGPU_ASMPRINTER_H
44