AMDGPUMCCodeEmitter.h revision 36b56886974eae4f9c5ebc96befd3e7bfe5de338
1//===-- AMDGPUCodeEmitter.h - AMDGPU Code Emitter interface -----*- 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/// \file 11/// \brief CodeEmitter interface for R600 and SI codegen. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef AMDGPUCODEEMITTER_H 16#define AMDGPUCODEEMITTER_H 17 18#include "llvm/MC/MCCodeEmitter.h" 19#include "llvm/Support/raw_ostream.h" 20 21namespace llvm { 22 23class MCInst; 24class MCOperand; 25class MCSubtargetInfo; 26 27class AMDGPUMCCodeEmitter : public MCCodeEmitter { 28 virtual void anchor(); 29public: 30 31 uint64_t getBinaryCodeForInstr(const MCInst &MI, 32 SmallVectorImpl<MCFixup> &Fixups, 33 const MCSubtargetInfo &STI) const; 34 35 virtual uint64_t getMachineOpValue(const MCInst &MI, const MCOperand &MO, 36 SmallVectorImpl<MCFixup> &Fixups, 37 const MCSubtargetInfo &STI) const { 38 return 0; 39 } 40}; 41 42} // End namespace llvm 43 44#endif // AMDGPUCODEEMITTER_H 45