LLVM: include/llvm/Support/AMDGPUAddrSpace.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_SUPPORT_AMDGPUADDRSPACE_H
16#define LLVM_SUPPORT_AMDGPUADDRSPACE_H
17
18namespace llvm {
19
20
21
22
23
24
84
85namespace AMDGPU {
90
96
98 switch (AS) {
100 case CONSTANT_ADDRESS:
101 case CONSTANT_ADDRESS_32BIT:
102 case CONSTANT_BUFFER_0:
103 case CONSTANT_BUFFER_1:
104 case CONSTANT_BUFFER_2:
105 case CONSTANT_BUFFER_3:
106 case CONSTANT_BUFFER_4:
107 case CONSTANT_BUFFER_5:
108 case CONSTANT_BUFFER_6:
109 case CONSTANT_BUFFER_7:
110 case CONSTANT_BUFFER_8:
111 case CONSTANT_BUFFER_9:
112 case CONSTANT_BUFFER_10:
113 case CONSTANT_BUFFER_11:
114 case CONSTANT_BUFFER_12:
115 case CONSTANT_BUFFER_13:
116 case CONSTANT_BUFFER_14:
117 case CONSTANT_BUFFER_15:
118 return true;
119 default:
120 return false;
121 }
122}
123
125enum : unsigned {
133};
134}
135
148
149
150
151
152
153
154
155
156
157
158
159
161 constexpr unsigned SizeOfLLVMToDWARFAddrSpaceMapping =
164 if (LLVMAddrSpace < SizeOfLLVMToDWARFAddrSpaceMapping)
166 return -1;
167}
168}
169
170}
171
172#endif
OpenCL uses address spaces to differentiate between various memory regions on the hardware.
Definition AMDGPUAddrSpace.h:25
@ CONSTANT_BUFFER_5
Definition AMDGPUAddrSpace.h:68
@ CONSTANT_BUFFER_15
Definition AMDGPUAddrSpace.h:78
@ MAX_AMDGPU_ADDRESS
Definition AMDGPUAddrSpace.h:28
@ CONSTANT_ADDRESS_32BIT
Address space for 32-bit constant memory.
Definition AMDGPUAddrSpace.h:38
@ CONSTANT_BUFFER_11
Definition AMDGPUAddrSpace.h:74
@ BUFFER_STRIDED_POINTER
Address space for 192-bit fat buffer pointers with an additional index.
Definition AMDGPUAddrSpace.h:45
@ CONSTANT_BUFFER_6
Definition AMDGPUAddrSpace.h:69
@ CONSTANT_BUFFER_12
Definition AMDGPUAddrSpace.h:75
@ PARAM_D_ADDRESS
end Internal address spaces.
Definition AMDGPUAddrSpace.h:53
@ REGION_ADDRESS
Address space for region memory. (GDS)
Definition AMDGPUAddrSpace.h:32
@ CONSTANT_BUFFER_2
Definition AMDGPUAddrSpace.h:65
@ CONSTANT_BUFFER_1
Definition AMDGPUAddrSpace.h:64
@ CONSTANT_BUFFER_0
Definition AMDGPUAddrSpace.h:63
@ LOCAL_ADDRESS
Address space for local memory.
Definition AMDGPUAddrSpace.h:34
@ STREAMOUT_REGISTER
Internal address spaces. Can be freely renumbered.
Definition AMDGPUAddrSpace.h:49
@ CONSTANT_BUFFER_8
Definition AMDGPUAddrSpace.h:71
@ CONSTANT_BUFFER_4
Definition AMDGPUAddrSpace.h:67
@ CONSTANT_BUFFER_3
Definition AMDGPUAddrSpace.h:66
@ CONSTANT_BUFFER_10
Definition AMDGPUAddrSpace.h:73
@ PARAM_I_ADDRESS
Address space for indirect addressable parameter memory (VTX1).
Definition AMDGPUAddrSpace.h:55
@ CONSTANT_ADDRESS
Address space for constant memory (VTX2).
Definition AMDGPUAddrSpace.h:35
@ UNKNOWN_ADDRESS_SPACE
Definition AMDGPUAddrSpace.h:81
@ FLAT_ADDRESS
Address space for flat memory.
Definition AMDGPUAddrSpace.h:30
@ GLOBAL_ADDRESS
Address space for global memory (RAT0, VTX0).
Definition AMDGPUAddrSpace.h:31
@ CONSTANT_BUFFER_14
Definition AMDGPUAddrSpace.h:77
@ CONSTANT_BUFFER_9
Definition AMDGPUAddrSpace.h:72
@ CONSTANT_BUFFER_7
Definition AMDGPUAddrSpace.h:70
@ CONSTANT_BUFFER_13
Definition AMDGPUAddrSpace.h:76
@ BUFFER_FAT_POINTER
Address space for 160-bit buffer fat pointers.
Definition AMDGPUAddrSpace.h:40
@ PRIVATE_ADDRESS
Address space for private memory.
Definition AMDGPUAddrSpace.h:36
@ BUFFER_RESOURCE
Address space for 128-bit buffer resources.
Definition AMDGPUAddrSpace.h:43
Definition AMDGPUAddrSpace.h:124
@ GENERIC
Definition AMDGPUAddrSpace.h:127
@ DEFAULT
Definition AMDGPUAddrSpace.h:132
@ PRIVATE_LANE
Definition AMDGPUAddrSpace.h:130
@ PRIVATE_WAVE
Definition AMDGPUAddrSpace.h:131
@ LOCAL
Definition AMDGPUAddrSpace.h:129
@ REGION
Definition AMDGPUAddrSpace.h:128
@ GLOBAL
Definition AMDGPUAddrSpace.h:126
Definition AMDGPUAddrSpace.h:136
static constexpr unsigned LLVMToDWARFAddrSpaceMapping[]
Definition AMDGPUAddrSpace.h:139
bool isFlatGlobalAddrSpace(unsigned AS)
Definition AMDGPUAddrSpace.h:86
constexpr int mapToDWARFAddrSpace(unsigned LLVMAddrSpace)
If LLVMAddressSpace has a corresponding DWARF encoding, return it; otherwise return the sentinel valu...
Definition AMDGPUAddrSpace.h:160
bool isExtendedGlobalAddrSpace(unsigned AS)
Definition AMDGPUAddrSpace.h:91
bool isConstantAddressSpace(unsigned AS)
Definition AMDGPUAddrSpace.h:97
This is an optimization pass for GlobalISel generic memory operations.