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