summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/AMDGPUSubtarget.h
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-07-30 15:51:21 +0000
committerTom Stellard <[email protected]>2012-07-30 21:10:13 +0000
commitb72ab79d73b29ec087d90cf2c698adbab4db5def (patch)
treeb8565d788eac69c75fd8cc0bc4f5851e98abbc14 /src/gallium/drivers/radeon/AMDGPUSubtarget.h
parent27ae41c83dafcec09e870b3cf08b060064dbb122 (diff)
radeon/llvm: Merge AMDILSubtarget into AMDGPUSubtarget
Diffstat (limited to 'src/gallium/drivers/radeon/AMDGPUSubtarget.h')
-rw-r--r--src/gallium/drivers/radeon/AMDGPUSubtarget.h32
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