forked from OSchip/llvm-project
AMDGPU: bump AS.MAX_COMMON_ADDRESS to 6 since 32-bit addr space
32-bit constant address space is declared as 6, so the maximum number of address spaces is 6, not 5. Fixes "LLVM ERROR: Pointer address space out of range". v3: use static_assert() v2: add a very simple test for 32-bit addr space Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106630 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> llvm-svn: 340171
This commit is contained in:
parent
54829bb3ff
commit
c95ef77d37
|
@ -229,7 +229,7 @@ struct AMDGPUAS {
|
|||
|
||||
enum : unsigned {
|
||||
// The maximum value for flat, generic, local, private, constant and region.
|
||||
MAX_COMMON_ADDRESS = 5,
|
||||
MAX_COMMON_ADDRESS = 6,
|
||||
|
||||
GLOBAL_ADDRESS = 1, ///< Address space for global memory (RAT0, VTX0).
|
||||
CONSTANT_ADDRESS = 4, ///< Address space for constant memory (VTX2)
|
||||
|
|
|
@ -69,7 +69,7 @@ AMDGPUAAResult::ASAliasRulesTy::ASAliasRulesTy(AMDGPUAS AS_, Triple::ArchType Ar
|
|||
/* Region */ {MayAlias, NoAlias , NoAlias , NoAlias, MayAlias, NoAlias},
|
||||
/* Private */ {MayAlias, NoAlias , NoAlias , NoAlias , NoAlias , MayAlias}
|
||||
};
|
||||
assert(AS.MAX_COMMON_ADDRESS <= 5);
|
||||
static_assert(AS.MAX_COMMON_ADDRESS <= 6, "Addr space out of range");
|
||||
if (AS.FLAT_ADDRESS == 0) {
|
||||
assert(AS.GLOBAL_ADDRESS == 1 &&
|
||||
AS.REGION_ADDRESS == 2 &&
|
||||
|
|
|
@ -7,3 +7,9 @@ define void @test(i8 addrspace(5)* %p, i8 addrspace(1)* %p1) {
|
|||
ret void
|
||||
}
|
||||
|
||||
; CHECK: NoAlias: i8 addrspace(1)* %p1, i8 addrspace(6)* %p
|
||||
|
||||
define void @test_32bit_addr_space(i8 addrspace(6)* %p, i8 addrspace(1)* %p1) {
|
||||
ret void
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue