29fdcb0e6cb455d27736ed8e549601c22ebc506c
[oota-llvm.git] / lib / Target / WebAssembly / WebAssemblyInstrInfo.h
1 //=- WebAssemblyInstrInfo.h - WebAssembly Instruction Information -*- 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 This file contains the WebAssembly implementation of the
12 /// TargetInstrInfo class.
13 ///
14 //===----------------------------------------------------------------------===//
15
16 #ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYINSTRINFO_H
17 #define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYINSTRINFO_H
18
19 #include "WebAssemblyRegisterInfo.h"
20 #include "llvm/Target/TargetInstrInfo.h"
21
22 #define GET_INSTRINFO_HEADER
23 #include "WebAssemblyGenInstrInfo.inc"
24
25 namespace llvm {
26
27 class WebAssemblySubtarget;
28
29 class WebAssemblyInstrInfo final : public WebAssemblyGenInstrInfo {
30   const WebAssemblyRegisterInfo RI;
31
32 public:
33   explicit WebAssemblyInstrInfo(const WebAssemblySubtarget &STI);
34
35   const WebAssemblyRegisterInfo &getRegisterInfo() const { return RI; }
36 };
37
38 } // end namespace llvm
39
40 #endif