File indexing completed on 2026-05-10 08:44:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef LLVM_SUPPORT_AMDGPUADDRSPACE_H
0016 #define LLVM_SUPPORT_AMDGPUADDRSPACE_H
0017
0018 namespace llvm {
0019
0020
0021
0022
0023
0024
0025 namespace AMDGPUAS {
0026 enum : unsigned {
0027
0028 MAX_AMDGPU_ADDRESS = 9,
0029
0030 FLAT_ADDRESS = 0,
0031 GLOBAL_ADDRESS = 1,
0032 REGION_ADDRESS = 2,
0033
0034 CONSTANT_ADDRESS = 4,
0035 LOCAL_ADDRESS = 3,
0036 PRIVATE_ADDRESS = 5,
0037
0038 CONSTANT_ADDRESS_32BIT = 6,
0039
0040 BUFFER_FAT_POINTER = 7,
0041
0042
0043 BUFFER_RESOURCE = 8,
0044
0045 BUFFER_STRIDED_POINTER = 9,
0046
0047
0048
0049 STREAMOUT_REGISTER = 128,
0050
0051
0052
0053 PARAM_D_ADDRESS = 6,
0054
0055 PARAM_I_ADDRESS = 7,
0056
0057
0058
0059
0060
0061
0062
0063 CONSTANT_BUFFER_0 = 8,
0064 CONSTANT_BUFFER_1 = 9,
0065 CONSTANT_BUFFER_2 = 10,
0066 CONSTANT_BUFFER_3 = 11,
0067 CONSTANT_BUFFER_4 = 12,
0068 CONSTANT_BUFFER_5 = 13,
0069 CONSTANT_BUFFER_6 = 14,
0070 CONSTANT_BUFFER_7 = 15,
0071 CONSTANT_BUFFER_8 = 16,
0072 CONSTANT_BUFFER_9 = 17,
0073 CONSTANT_BUFFER_10 = 18,
0074 CONSTANT_BUFFER_11 = 19,
0075 CONSTANT_BUFFER_12 = 20,
0076 CONSTANT_BUFFER_13 = 21,
0077 CONSTANT_BUFFER_14 = 22,
0078 CONSTANT_BUFFER_15 = 23,
0079
0080
0081 UNKNOWN_ADDRESS_SPACE = ~0u,
0082 };
0083 }
0084
0085 namespace AMDGPU {
0086 inline bool isFlatGlobalAddrSpace(unsigned AS) {
0087 return AS == AMDGPUAS::GLOBAL_ADDRESS || AS == AMDGPUAS::FLAT_ADDRESS ||
0088 AS == AMDGPUAS::CONSTANT_ADDRESS || AS > AMDGPUAS::MAX_AMDGPU_ADDRESS;
0089 }
0090
0091 inline bool isExtendedGlobalAddrSpace(unsigned AS) {
0092 return AS == AMDGPUAS::GLOBAL_ADDRESS || AS == AMDGPUAS::CONSTANT_ADDRESS ||
0093 AS == AMDGPUAS::CONSTANT_ADDRESS_32BIT ||
0094 AS > AMDGPUAS::MAX_AMDGPU_ADDRESS;
0095 }
0096
0097 inline bool isConstantAddressSpace(unsigned AS) {
0098 switch (AS) {
0099 using namespace AMDGPUAS;
0100 case CONSTANT_ADDRESS:
0101 case CONSTANT_ADDRESS_32BIT:
0102 case CONSTANT_BUFFER_0:
0103 case CONSTANT_BUFFER_1:
0104 case CONSTANT_BUFFER_2:
0105 case CONSTANT_BUFFER_3:
0106 case CONSTANT_BUFFER_4:
0107 case CONSTANT_BUFFER_5:
0108 case CONSTANT_BUFFER_6:
0109 case CONSTANT_BUFFER_7:
0110 case CONSTANT_BUFFER_8:
0111 case CONSTANT_BUFFER_9:
0112 case CONSTANT_BUFFER_10:
0113 case CONSTANT_BUFFER_11:
0114 case CONSTANT_BUFFER_12:
0115 case CONSTANT_BUFFER_13:
0116 case CONSTANT_BUFFER_14:
0117 case CONSTANT_BUFFER_15:
0118 return true;
0119 default:
0120 return false;
0121 }
0122 }
0123 }
0124
0125 }
0126
0127 #endif