xref: /llvm-project/llvm/test/CodeGen/AMDGPU/hsa-metadata-deduced-arg-attr.ll (revision ffa7c7897c14223c591249dde41f33ecb3c4c148)
1*ffa7c789SChangpeng Fang; RUN: llc -mtriple=amdgcn-amd-amdhsa -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck %s
2*ffa7c789SChangpeng Fang
3*ffa7c789SChangpeng Fang; CHECK: amdhsa.kernels:
4*ffa7c789SChangpeng Fang; CHECK-NEXT:  - .args:
5*ffa7c789SChangpeng Fang; CHECK-NEXT:      - .actual_access:  read_only
6*ffa7c789SChangpeng Fang; CHECK-LABEL:   .name:          test_noalias_ro_arg
7*ffa7c789SChangpeng Fangdefine amdgpu_kernel void @test_noalias_ro_arg(ptr noalias readonly %in) {
8*ffa7c789SChangpeng Fang  ret void
9*ffa7c789SChangpeng Fang}
10*ffa7c789SChangpeng Fang
11*ffa7c789SChangpeng Fang; CHECK:       - .args:
12*ffa7c789SChangpeng Fang; CHECK-NOT:     read_only
13*ffa7c789SChangpeng Fang; CHECK-LABEL:   .name:          test_only_ro_arg
14*ffa7c789SChangpeng Fangdefine amdgpu_kernel void @test_only_ro_arg(ptr readonly %in) {
15*ffa7c789SChangpeng Fang  ret void
16*ffa7c789SChangpeng Fang}
17*ffa7c789SChangpeng Fang
18*ffa7c789SChangpeng Fang; CHECK:       - .args:
19*ffa7c789SChangpeng Fang; CHECK-NEXT:      - .actual_access:  write_only
20*ffa7c789SChangpeng Fang; CHECK-LABEL:   .name:          test_noalias_wo_arg
21*ffa7c789SChangpeng Fangdefine amdgpu_kernel void @test_noalias_wo_arg(ptr noalias writeonly %out) {
22*ffa7c789SChangpeng Fang  ret void
23*ffa7c789SChangpeng Fang}
24*ffa7c789SChangpeng Fang
25*ffa7c789SChangpeng Fang; CHECK:       - .args:
26*ffa7c789SChangpeng Fang; CHECK-NOT:     write_only
27*ffa7c789SChangpeng Fang; CHECK-LABEL:   .name:          test_only_wo_arg
28*ffa7c789SChangpeng Fangdefine amdgpu_kernel void @test_only_wo_arg(ptr writeonly %out) {
29*ffa7c789SChangpeng Fang  ret void
30*ffa7c789SChangpeng Fang}
31