1
//===------- AMDILSIDevice.h - Define SI Device for AMDIL -*- C++ -*------===//
3
// The LLVM Compiler Infrastructure
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
8
//==-----------------------------------------------------------------------===//
11
/// \brief Interface for the subtarget data classes.
13
/// This file will define the interface that each generation needs to
14
/// implement in order to correctly answer queries on the capabilities of the
15
/// specific hardware.
16
//===---------------------------------------------------------------------===//
17
#ifndef AMDILSIDEVICE_H
18
#define AMDILSIDEVICE_H
19
#include "AMDILEvergreenDevice.h"
22
class AMDGPUSubtarget;
23
//===---------------------------------------------------------------------===//
24
// SI generation of devices and their respective sub classes
25
//===---------------------------------------------------------------------===//
27
/// \brief The AMDGPUSIDevice is the base class for all Southern Island series
29
class AMDGPUSIDevice : public AMDGPUEvergreenDevice {
31
AMDGPUSIDevice(AMDGPUSubtarget*);
32
virtual ~AMDGPUSIDevice();
33
virtual size_t getMaxLDSSize() const;
34
virtual uint32_t getGeneration() const;
35
virtual std::string getDataLayout() const;
39
#endif // AMDILSIDEVICE_H