[llvm] r340171 - AMDGPU: bump AS.MAX_COMMON_ADDRESS to 6 since 32-bit addr space
Samuel Pitoiset via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 20 06:18:59 PDT 2018
Author: hakzsam
Date: Mon Aug 20 06:18:59 2018
New Revision: 340171
URL: http://llvm.org/viewvc/llvm-project?rev=340171&view=rev
Log:
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 at gmail.com>
Modified:
llvm/trunk/lib/Target/AMDGPU/AMDGPU.h
llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPU.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPU.h?rev=340171&r1=340170&r2=340171&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPU.h (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPU.h Mon Aug 20 06:18:59 2018
@@ -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)
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp?rev=340171&r1=340170&r2=340171&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp Mon Aug 20 06:18:59 2018
@@ -69,7 +69,7 @@ AMDGPUAAResult::ASAliasRulesTy::ASAliasR
/* 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 &&
Modified: llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll?rev=340171&r1=340170&r2=340171&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll Mon Aug 20 06:18:59 2018
@@ -7,3 +7,9 @@ define void @test(i8 addrspace(5)* %p, i
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
+}
+
More information about the llvm-commits
mailing list