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.