LegalizeDAG: Expand ctlz with ctlz_zero_undef if legal
[oota-llvm.git] / lib / Target / AMDGPU / AMDGPUMCInstLower.h
1 //===- AMDGPUMCInstLower.h MachineInstr Lowering 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 /// \file
9 //===----------------------------------------------------------------------===//
10
11 #ifndef LLVM_LIB_TARGET_R600_AMDGPUMCINSTLOWER_H
12 #define LLVM_LIB_TARGET_R600_AMDGPUMCINSTLOWER_H
13
14 namespace llvm {
15
16 class AMDGPUSubtarget;
17 class MachineInstr;
18 class MCContext;
19 class MCInst;
20
21 class AMDGPUMCInstLower {
22   MCContext &Ctx;
23   const AMDGPUSubtarget &ST;
24
25 public:
26   AMDGPUMCInstLower(MCContext &ctx, const AMDGPUSubtarget &ST);
27
28   /// \brief Lower a MachineInstr to an MCInst
29   void lower(const MachineInstr *MI, MCInst &OutMI) const;
30
31 };
32
33 } // End namespace llvm
34
35 #endif