xref: /minix3/external/bsd/llvm/dist/llvm/lib/Target/R600/AMDGPUMCInstLower.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
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