diff options
author | Neil Henning <neil.henning@amd.com> | 2019-03-18 14:44:28 +0000 |
---|---|---|
committer | Neil Henning <neil.henning@amd.com> | 2019-03-18 14:44:28 +0000 |
commit | 523dab07887f8bfeb4697ab8103ab76adddfc1fc (patch) | |
tree | 11148aba9c9bcd61f9a2efc46324b01f214ca8eb /llvm/lib/Target/AMDGPU/AMDGPU.h | |
parent | 6063393536cc8f6129c1bc4d590e812525e16abb (diff) | |
download | bcm5719-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.h | 12 |
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 |