]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/lib/Target/R600/AMDILSIDevice.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / lib / Target / R600 / AMDILSIDevice.h
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