blob: 957dcd0de8ef50cb96505744b762963366e4ea63 [file] [log] [blame]
Tom Stellard75aadc22012-12-11 21:25:42 +00001//===- 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
Matt Arsenault6b6a2c32016-03-11 08:00:27 +000011#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMCINSTLOWER_H
12#define LLVM_LIB_TARGET_AMDGPU_AMDGPUMCINSTLOWER_H
Tom Stellard75aadc22012-12-11 21:25:42 +000013
14namespace llvm {
15
Tom Stellardc721a232014-05-16 20:56:47 +000016class AMDGPUSubtarget;
Tom Stellard75aadc22012-12-11 21:25:42 +000017class MachineInstr;
Matt Arsenault236d9af2014-06-23 18:00:20 +000018class MCContext;
19class MCInst;
Tom Stellard75aadc22012-12-11 21:25:42 +000020
21class AMDGPUMCInstLower {
Tom Stellard9e90b582012-12-17 15:14:54 +000022 MCContext &Ctx;
Tom Stellardc721a232014-05-16 20:56:47 +000023 const AMDGPUSubtarget &ST;
24
Tom Stellard75aadc22012-12-11 21:25:42 +000025public:
Tom Stellardc721a232014-05-16 20:56:47 +000026 AMDGPUMCInstLower(MCContext &ctx, const AMDGPUSubtarget &ST);
Tom Stellard75aadc22012-12-11 21:25:42 +000027
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
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000035#endif