1; RUN: opt -S -mtriple=amdgcn-amd-amdhsa --amdgpu-annotate-uniform < %s | FileCheck -check-prefix=OPT %s 2; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=amdgpu-annotate-uniform < %s | FileCheck -check-prefix=OPT %s 3target datalayout = "A5" 4 5 6; OPT-LABEL: @amdgpu_noclobber_global( 7; OPT-NEXT: %load = load i32, ptr addrspace(1) %in, align 4, !amdgpu.noclobber !0 8define amdgpu_kernel void @amdgpu_noclobber_global( ptr addrspace(1) %in, ptr addrspace(1) %out) { 9 %load = load i32, ptr addrspace(1) %in, align 4 10 store i32 %load, ptr addrspace(1) %out, align 4 11 ret void 12} 13 14; OPT-LABEL: @amdgpu_noclobber_local( 15; OPT-NEXT: %load = load i32, ptr addrspace(3) %in, align 4 16define amdgpu_kernel void @amdgpu_noclobber_local( ptr addrspace(3) %in, ptr addrspace(1) %out) { 17 %load = load i32, ptr addrspace(3) %in, align 4 18 store i32 %load, ptr addrspace(1) %out, align 4 19 ret void 20} 21 22; OPT-LABEL: @amdgpu_noclobber_private( 23; OPT-NEXT: %load = load i32, ptr addrspace(5) %in, align 4 24define amdgpu_kernel void @amdgpu_noclobber_private( ptr addrspace(5) %in, ptr addrspace(1) %out) { 25 %load = load i32, ptr addrspace(5) %in, align 4 26 store i32 %load, ptr addrspace(1) %out, align 4 27 ret void 28} 29 30; OPT-LABEL: @amdgpu_noclobber_flat( 31; OPT-NEXT: %load = load i32, ptr addrspace(4) %in, align 4 32define amdgpu_kernel void @amdgpu_noclobber_flat( ptr addrspace(4) %in, ptr addrspace(1) %out) { 33 %load = load i32, ptr addrspace(4) %in, align 4 34 store i32 %load, ptr addrspace(1) %out, align 4 35 ret void 36} 37