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 19 namespace llvm { 20 21 class AMDGPUAsmPrinter : public AsmPrinter { 22 23 public: AMDGPUAsmPrinter(TargetMachine & TM,MCStreamer & Streamer)24 explicit AMDGPUAsmPrinter(TargetMachine &TM, MCStreamer &Streamer) 25 : AsmPrinter(TM, Streamer) { } 26 27 virtual bool runOnMachineFunction(MachineFunction &MF); 28 getPassName()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