1f4a2713aSLionel Sambuc //===- AMDGPUMCInstLower.h MachineInstr Lowering Interface ------*- C++ -*-===// 2f4a2713aSLionel Sambuc // 3f4a2713aSLionel Sambuc // The LLVM Compiler Infrastructure 4f4a2713aSLionel Sambuc // 5f4a2713aSLionel Sambuc // This file is distributed under the University of Illinois Open Source 6f4a2713aSLionel Sambuc // License. See LICENSE.TXT for details. 7f4a2713aSLionel Sambuc // 8f4a2713aSLionel Sambuc /// \file 9f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===// 10f4a2713aSLionel Sambuc 11*0a6a1f1dSLionel Sambuc #ifndef LLVM_LIB_TARGET_R600_AMDGPUMCINSTLOWER_H 12*0a6a1f1dSLionel Sambuc #define LLVM_LIB_TARGET_R600_AMDGPUMCINSTLOWER_H 13f4a2713aSLionel Sambuc 14f4a2713aSLionel Sambuc namespace llvm { 15f4a2713aSLionel Sambuc 16*0a6a1f1dSLionel Sambuc class AMDGPUSubtarget; 17f4a2713aSLionel Sambuc class MachineInstr; 18*0a6a1f1dSLionel Sambuc class MCContext; 19*0a6a1f1dSLionel Sambuc class MCInst; 20f4a2713aSLionel Sambuc 21f4a2713aSLionel Sambuc class AMDGPUMCInstLower { 22f4a2713aSLionel Sambuc MCContext &Ctx; 23*0a6a1f1dSLionel Sambuc const AMDGPUSubtarget &ST; 24f4a2713aSLionel Sambuc 25f4a2713aSLionel Sambuc public: 26*0a6a1f1dSLionel Sambuc AMDGPUMCInstLower(MCContext &ctx, const AMDGPUSubtarget &ST); 27f4a2713aSLionel Sambuc 28f4a2713aSLionel Sambuc /// \brief Lower a MachineInstr to an MCInst 29f4a2713aSLionel Sambuc void lower(const MachineInstr *MI, MCInst &OutMI) const; 30f4a2713aSLionel Sambuc 31f4a2713aSLionel Sambuc }; 32f4a2713aSLionel Sambuc 33f4a2713aSLionel Sambuc } // End namespace llvm 34f4a2713aSLionel Sambuc 35*0a6a1f1dSLionel Sambuc #endif 36