1249259Sdim//===-- AMDGPUAsmPrinter.h - Print AMDGPU assembly code -------------------===// 2249259Sdim// 3249259Sdim// The LLVM Compiler Infrastructure 4249259Sdim// 5249259Sdim// This file is distributed under the University of Illinois Open Source 6249259Sdim// License. See LICENSE.TXT for details. 7249259Sdim// 8249259Sdim//===----------------------------------------------------------------------===// 9249259Sdim// 10249259Sdim/// \file 11249259Sdim/// \brief AMDGPU Assembly printer class. 12249259Sdim// 13249259Sdim//===----------------------------------------------------------------------===// 14249259Sdim 15249259Sdim#ifndef AMDGPU_ASMPRINTER_H 16249259Sdim#define AMDGPU_ASMPRINTER_H 17249259Sdim 18249259Sdim#include "llvm/CodeGen/AsmPrinter.h" 19249259Sdim 20249259Sdimnamespace llvm { 21249259Sdim 22249259Sdimclass AMDGPUAsmPrinter : public AsmPrinter { 23249259Sdim 24249259Sdimpublic: 25249259Sdim explicit AMDGPUAsmPrinter(TargetMachine &TM, MCStreamer &Streamer) 26249259Sdim : AsmPrinter(TM, Streamer) { } 27249259Sdim 28249259Sdim virtual bool runOnMachineFunction(MachineFunction &MF); 29249259Sdim 30249259Sdim virtual const char *getPassName() const { 31249259Sdim return "AMDGPU Assembly Printer"; 32249259Sdim } 33249259Sdim 34249259Sdim /// \brief Emit register usage information so that the GPU driver 35249259Sdim /// can correctly setup the GPU state. 36251662Sdim void EmitProgramInfoR600(MachineFunction &MF); 37251662Sdim void EmitProgramInfoSI(MachineFunction &MF); 38249259Sdim 39249259Sdim /// Implemented in AMDGPUMCInstLower.cpp 40249259Sdim virtual void EmitInstruction(const MachineInstr *MI); 41249259Sdim}; 42249259Sdim 43249259Sdim} // End anonymous llvm 44249259Sdim 45249259Sdim#endif //AMDGPU_ASMPRINTER_H 46