diff options
Diffstat (limited to 'src/gallium/drivers/radeon/AMDGPUSubtarget.h')
-rw-r--r-- | src/gallium/drivers/radeon/AMDGPUSubtarget.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUSubtarget.h b/src/gallium/drivers/radeon/AMDGPUSubtarget.h index 09e57e52b12..0e10c49c46b 100644 --- a/src/gallium/drivers/radeon/AMDGPUSubtarget.h +++ b/src/gallium/drivers/radeon/AMDGPUSubtarget.h @@ -13,22 +13,50 @@ #ifndef _AMDGPUSUBTARGET_H_ #define _AMDGPUSUBTARGET_H_ -#include "AMDILSubtarget.h" +#include "AMDILDevice.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" +#include "llvm/Target/TargetSubtargetInfo.h" + +#define GET_SUBTARGETINFO_HEADER +#include "AMDGPUGenSubtargetInfo.inc" + +#define MAX_CB_SIZE (1 << 16) namespace llvm { -class AMDGPUSubtarget : public AMDILSubtarget +class AMDGPUSubtarget : public AMDGPUGenSubtargetInfo { +private: + bool CapsOverride[AMDILDeviceInfo::MaxNumberCapabilities]; + const AMDILDevice *mDevice; + size_t mDefaultSize[3]; + size_t mMinimumSize[3]; + std::string mDevName; + bool mIs64bit; + bool mIs32on64bit; + bool mDumpCode; + InstrItineraryData InstrItins; public: AMDGPUSubtarget(StringRef TT, StringRef CPU, StringRef FS); + virtual ~AMDGPUSubtarget(); const InstrItineraryData &getInstrItineraryData() const { return InstrItins; } virtual void ParseSubtargetFeatures(llvm::StringRef CPU, llvm::StringRef FS); + bool isOverride(AMDILDeviceInfo::Caps) const; + bool is64bit() const; + + // Helper functions to simplify if statements + bool isTargetELF() const; + const AMDILDevice* device() const; + std::string getDataLayout() const; + std::string getDeviceName() const; + virtual size_t getDefaultSize(uint32_t dim) const; + bool dumpCode() const { return mDumpCode; } + }; } // End namespace llvm |