Home | History | Annotate | Download | only in radeon
      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:
     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