summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPU.h
diff options
context:
space:
mode:
authorNeil Henning <neil.henning@amd.com>2019-03-18 14:44:28 +0000
committerNeil Henning <neil.henning@amd.com>2019-03-18 14:44:28 +0000
commit523dab07887f8bfeb4697ab8103ab76adddfc1fc (patch)
tree11148aba9c9bcd61f9a2efc46324b01f214ca8eb /llvm/lib/Target/AMDGPU/AMDGPU.h
parent6063393536cc8f6129c1bc4d590e812525e16abb (diff)
downloadbcm5719-llvm-523dab07887f8bfeb4697ab8103ab76adddfc1fc.tar.gz
bcm5719-llvm-523dab07887f8bfeb4697ab8103ab76adddfc1fc.zip
[AMDGPU] Add an experimental buffer fat pointer address space.
Add an experimental buffer fat pointer address space that is currently unhandled in the backend. This commit reserves address space 7 as a non-integral pointer repsenting the 160-bit fat pointer (128-bit buffer descriptor + 32-bit offset) that is heavily used in graphics workloads using the AMDGPU backend. Differential Revision: https://reviews.llvm.org/D58957 llvm-svn: 356373
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPU.h')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPU.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPU.h b/llvm/lib/Target/AMDGPU/AMDGPU.h
index ca3e6e2028d..3cb0419dcca 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPU.h
+++ b/llvm/lib/Target/AMDGPU/AMDGPU.h
@@ -245,21 +245,23 @@ enum TargetIndex {
namespace AMDGPUAS {
enum : unsigned {
// The maximum value for flat, generic, local, private, constant and region.
- MAX_AMDGPU_ADDRESS = 6,
+ MAX_AMDGPU_ADDRESS = 7,
FLAT_ADDRESS = 0, ///< Address space for flat memory.
GLOBAL_ADDRESS = 1, ///< Address space for global memory (RAT0, VTX0).
REGION_ADDRESS = 2, ///< Address space for region memory. (GDS)
- CONSTANT_ADDRESS = 4, ///< Address space for constant memory (VTX2)
+ CONSTANT_ADDRESS = 4, ///< Address space for constant memory (VTX2).
LOCAL_ADDRESS = 3, ///< Address space for local memory.
PRIVATE_ADDRESS = 5, ///< Address space for private memory.
- CONSTANT_ADDRESS_32BIT = 6, ///< Address space for 32-bit constant memory
+ CONSTANT_ADDRESS_32BIT = 6, ///< Address space for 32-bit constant memory.
- /// Address space for direct addressible parameter memory (CONST0)
+ BUFFER_FAT_POINTER = 7, ///< Address space for 160-bit buffer fat pointers.
+
+ /// Address space for direct addressible parameter memory (CONST0).
PARAM_D_ADDRESS = 6,
- /// Address space for indirect addressible parameter memory (VTX1)
+ /// Address space for indirect addressible parameter memory (VTX1).
PARAM_I_ADDRESS = 7,
// Do not re-order the CONSTANT_BUFFER_* enums. Several places depend on
OpenPOWER on IntegriCloud