diff options
author | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-11-16 02:54:49 +0000 |
---|---|---|
committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-11-16 02:54:49 +0000 |
commit | 4d9a4d7ac8c7f5f915bb53a46ad4d108d6ad5bea (patch) | |
tree | b3c7b8684decd27b5ee23504e885a1b52375b497 /llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll | |
parent | 396ed67950ce8559da1c7ea896a1cfe86fd3b27a (diff) | |
download | bcm5719-llvm-4d9a4d7ac8c7f5f915bb53a46ad4d108d6ad5bea.tar.gz bcm5719-llvm-4d9a4d7ac8c7f5f915bb53a46ad4d108d6ad5bea.zip |
Fix APInt bit size in processDbgDeclares
processDbgDeclares assumes pointer size is the same for different addr spaces.
It uses pointer size for addr space 0 for all pointers, which causes assertion
in stripAndAccumulateInBoundsConstantOffsets for amdgcn---amdgiz since
pointer in addr space 5 has different size than in addr space 0.
This patch fixes that.
Differential Revision: https://reviews.llvm.org/D40085
llvm-svn: 318370
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll b/llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll index fcdbfb10a8c..54790912330 100644 --- a/llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll +++ b/llvm/test/CodeGen/AMDGPU/debugger-insert-nops.ll @@ -1,5 +1,6 @@ -; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -mattr=+amdgpu-debugger-insert-nops -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECK -; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -mattr=+amdgpu-debugger-insert-nops -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECKNOP +; RUN: llc -O0 -mtriple=amdgcn--amdhsa-amdgiz -mcpu=fiji -mattr=+amdgpu-debugger-insert-nops -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECK +; RUN: llc -O0 -mtriple=amdgcn--amdhsa-amdgiz -mcpu=fiji -mattr=+amdgpu-debugger-insert-nops -verify-machineinstrs < %s | FileCheck %s --check-prefix=CHECKNOP +target datalayout = "A5" ; This test expects that we have one instance for each line in some order with "s_nop 0" instances after each. @@ -24,16 +25,16 @@ ; Function Attrs: nounwind define amdgpu_kernel void @test(i32 addrspace(1)* %A) #0 !dbg !12 { entry: - %A.addr = alloca i32 addrspace(1)*, align 4 - store i32 addrspace(1)* %A, i32 addrspace(1)** %A.addr, align 4 - call void @llvm.dbg.declare(metadata i32 addrspace(1)** %A.addr, metadata !17, metadata !18), !dbg !19 - %0 = load i32 addrspace(1)*, i32 addrspace(1)** %A.addr, align 4, !dbg !20 + %A.addr = alloca i32 addrspace(1)*, align 4, addrspace(5) + store i32 addrspace(1)* %A, i32 addrspace(1)* addrspace(5)* %A.addr, align 4 + call void @llvm.dbg.declare(metadata i32 addrspace(1)* addrspace(5)* %A.addr, metadata !17, metadata !18), !dbg !19 + %0 = load i32 addrspace(1)*, i32 addrspace(1)* addrspace(5)* %A.addr, align 4, !dbg !20 %arrayidx = getelementptr inbounds i32, i32 addrspace(1)* %0, i32 0, !dbg !20 store i32 1, i32 addrspace(1)* %arrayidx, align 4, !dbg !20 - %1 = load i32 addrspace(1)*, i32 addrspace(1)** %A.addr, align 4, !dbg !22 + %1 = load i32 addrspace(1)*, i32 addrspace(1)* addrspace(5)* %A.addr, align 4, !dbg !22 %arrayidx1 = getelementptr inbounds i32, i32 addrspace(1)* %1, i32 1, !dbg !22 store i32 2, i32 addrspace(1)* %arrayidx1, align 4, !dbg !23 - %2 = load i32 addrspace(1)*, i32 addrspace(1)** %A.addr, align 4, !dbg !24 + %2 = load i32 addrspace(1)*, i32 addrspace(1)* addrspace(5)* %A.addr, align 4, !dbg !24 %arrayidx2 = getelementptr inbounds i32, i32 addrspace(1)* %2, i32 2, !dbg !24 store i32 3, i32 addrspace(1)* %arrayidx2, align 4, !dbg !25 ret void, !dbg !26 @@ -56,8 +57,8 @@ attributes #1 = { nounwind readnone } !3 = !{void (i32 addrspace(1)*)* @test, !4, !5, !6, !7, !8} !4 = !{!"kernel_arg_addr_space", i32 1} !5 = !{!"kernel_arg_access_qual", !"none"} -!6 = !{!"kernel_arg_type", !"int*"} -!7 = !{!"kernel_arg_base_type", !"int*"} +!6 = !{!"kernel_arg_type", !"int addrspace(5)*"} +!7 = !{!"kernel_arg_base_type", !"int addrspace(5)*"} !8 = !{!"kernel_arg_type_qual", !""} !9 = !{i32 2, !"Dwarf Version", i32 2} !10 = !{i32 2, !"Debug Info Version", i32 3} |