1 //===------- AMDILSIDevice.h - Define SI Device for AMDIL -*- 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 Interface for the subtarget data classes. 12 /// 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" 20 21 namespace llvm { 22 class AMDGPUSubtarget; 23 //===---------------------------------------------------------------------===// 24 // SI generation of devices and their respective sub classes 25 //===---------------------------------------------------------------------===// 26 27 /// \brief The AMDGPUSIDevice is the base class for all Southern Island series 28 /// of cards. 29 class AMDGPUSIDevice : public AMDGPUEvergreenDevice { 30 public: 31 AMDGPUSIDevice(AMDGPUSubtarget*); 32 virtual ~AMDGPUSIDevice(); 33 virtual size_t getMaxLDSSize() const; 34 virtual uint32_t getGeneration() const; 35 virtual std::string getDataLayout() const; 36 }; 37 38 } // namespace llvm 39 #endif // AMDILSIDEVICE_H 40