//===------- AMDILSIDevice.h - Define SI Device for AMDIL -*- C++ -*------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //==-----------------------------------------------------------------------===// // /// \file /// \brief Interface for the subtarget data classes. /// /// This file will define the interface that each generation needs to /// implement in order to correctly answer queries on the capabilities of the /// specific hardware. //===---------------------------------------------------------------------===// #ifndef AMDILSIDEVICE_H #define AMDILSIDEVICE_H #include "AMDILEvergreenDevice.h" namespace llvm { class AMDGPUSubtarget; //===---------------------------------------------------------------------===// // SI generation of devices and their respective sub classes //===---------------------------------------------------------------------===// /// \brief The AMDGPUSIDevice is the base class for all Southern Island series /// of cards. class AMDGPUSIDevice : public AMDGPUEvergreenDevice { public: AMDGPUSIDevice(AMDGPUSubtarget*); virtual ~AMDGPUSIDevice(); virtual size_t getMaxLDSSize() const; virtual uint32_t getGeneration() const; virtual std::string getDataLayout() const; }; } // namespace llvm #endif // AMDILSIDEVICE_H