blob: f972c748ffd4be4ebbd6181f5724d939ca2874a2 [file] [log] [blame]
Tom Stellardca166212017-01-30 21:56:46 +00001//===- AMDGPULegalizerInfo ---------------------------------------*- 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/// \file
10/// This file declares the targeting of the Machinelegalizer class for
11/// AMDGPU.
12/// \todo This should be generated by TableGen.
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINELEGALIZER_H
16#define LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINELEGALIZER_H
17
18#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h"
19
20namespace llvm {
21
Matt Arsenaultc3fe46b2018-03-08 16:24:16 +000022class GCNTargetMachine;
Tom Stellardca166212017-01-30 21:56:46 +000023class LLVMContext;
Matt Arsenaultc3fe46b2018-03-08 16:24:16 +000024class SISubtarget;
Tom Stellardca166212017-01-30 21:56:46 +000025
26/// This class provides the information for the target register banks.
27class AMDGPULegalizerInfo : public LegalizerInfo {
28public:
Matt Arsenaultc3fe46b2018-03-08 16:24:16 +000029 AMDGPULegalizerInfo(const SISubtarget &ST,
30 const GCNTargetMachine &TM);
Tom Stellardca166212017-01-30 21:56:46 +000031};
32} // End llvm namespace.
33#endif