brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 7e0208c Raw
131 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals2; RUN: opt -mtriple=amdgcn-unknown-amdhsa -S -passes=amdgpu-attributor %s | FileCheck %s3 4; Check handling for pre-existing attributes on function declarations5 6declare void @marked_no_workitem_id_x() "amdgpu-no-workitem-id-x"7declare void @marked_no_workitem_id_y() "amdgpu-no-workitem-id-y"8declare void @marked_no_workitem_id_z() "amdgpu-no-workitem-id-z"9 10declare void @marked_no_workgroup_id_x() "amdgpu-no-workgroup-id-x"11declare void @marked_no_workgroup_id_y() "amdgpu-no-workgroup-id-y"12declare void @marked_no_workgroup_id_z() "amdgpu-no-workgroup-id-z"13 14declare void @marked_no_dispatch_ptr() "amdgpu-no-dispatch-ptr"15declare void @marked_no_queue_ptr() "amdgpu-no-queue-ptr"16declare void @marked_no_implicitarg_ptr() "amdgpu-no-implicitarg-ptr"17declare void @marked_no_dispatch_id() "amdgpu-no-dispatch-id"18 19 20define void @call_no_workitem_id_x() {21; CHECK-LABEL: define {{[^@]+}}@call_no_workitem_id_x22; CHECK-SAME: () #[[ATTR0:[0-9]+]] {23; CHECK-NEXT:    call void @marked_no_workitem_id_x()24; CHECK-NEXT:    ret void25;26  call void @marked_no_workitem_id_x()27  ret void28}29 30define void @call_no_workitem_id_y() {31; CHECK-LABEL: define {{[^@]+}}@call_no_workitem_id_y32; CHECK-SAME: () #[[ATTR1:[0-9]+]] {33; CHECK-NEXT:    call void @marked_no_workitem_id_y()34; CHECK-NEXT:    ret void35;36  call void @marked_no_workitem_id_y()37  ret void38}39 40define void @call_no_workitem_id_z() {41; CHECK-LABEL: define {{[^@]+}}@call_no_workitem_id_z42; CHECK-SAME: () #[[ATTR2:[0-9]+]] {43; CHECK-NEXT:    call void @marked_no_workitem_id_z()44; CHECK-NEXT:    ret void45;46  call void @marked_no_workitem_id_z()47  ret void48}49 50define void @call_no_workgroup_id_x() {51; CHECK-LABEL: define {{[^@]+}}@call_no_workgroup_id_x52; CHECK-SAME: () #[[ATTR3:[0-9]+]] {53; CHECK-NEXT:    call void @marked_no_workgroup_id_x()54; CHECK-NEXT:    ret void55;56  call void @marked_no_workgroup_id_x()57  ret void58}59 60define void @call_no_workgroup_id_y() {61; CHECK-LABEL: define {{[^@]+}}@call_no_workgroup_id_y62; CHECK-SAME: () #[[ATTR4:[0-9]+]] {63; CHECK-NEXT:    call void @marked_no_workgroup_id_y()64; CHECK-NEXT:    ret void65;66  call void @marked_no_workgroup_id_y()67  ret void68}69 70define void @call_no_workgroup_id_z() {71; CHECK-LABEL: define {{[^@]+}}@call_no_workgroup_id_z72; CHECK-SAME: () #[[ATTR5:[0-9]+]] {73; CHECK-NEXT:    call void @marked_no_workgroup_id_z()74; CHECK-NEXT:    ret void75;76  call void @marked_no_workgroup_id_z()77  ret void78}79 80define void @call_no_dispatch_ptr() {81; CHECK-LABEL: define {{[^@]+}}@call_no_dispatch_ptr82; CHECK-SAME: () #[[ATTR6:[0-9]+]] {83; CHECK-NEXT:    call void @marked_no_dispatch_ptr()84; CHECK-NEXT:    ret void85;86  call void @marked_no_dispatch_ptr()87  ret void88}89 90define void @call_no_queue_ptr() {91; CHECK-LABEL: define {{[^@]+}}@call_no_queue_ptr92; CHECK-SAME: () #[[ATTR7:[0-9]+]] {93; CHECK-NEXT:    call void @marked_no_queue_ptr()94; CHECK-NEXT:    ret void95;96  call void @marked_no_queue_ptr()97  ret void98}99 100define void @call_no_implicitarg_ptr() {101; CHECK-LABEL: define {{[^@]+}}@call_no_implicitarg_ptr102; CHECK-SAME: () #[[ATTR8:[0-9]+]] {103; CHECK-NEXT:    call void @marked_no_implicitarg_ptr()104; CHECK-NEXT:    ret void105;106  call void @marked_no_implicitarg_ptr()107  ret void108}109 110define void @call_no_dispatch_id() {111; CHECK-LABEL: define {{[^@]+}}@call_no_dispatch_id112; CHECK-SAME: () #[[ATTR9:[0-9]+]] {113; CHECK-NEXT:    call void @marked_no_dispatch_id()114; CHECK-NEXT:    ret void115;116  call void @marked_no_dispatch_id()117  ret void118}119;.120; CHECK: attributes #[[ATTR0]] = { "amdgpu-no-workitem-id-x" "uniform-work-group-size"="false" }121; CHECK: attributes #[[ATTR1]] = { "amdgpu-no-workitem-id-y" "uniform-work-group-size"="false" }122; CHECK: attributes #[[ATTR2]] = { "amdgpu-no-workitem-id-z" "uniform-work-group-size"="false" }123; CHECK: attributes #[[ATTR3]] = { "amdgpu-no-workgroup-id-x" "uniform-work-group-size"="false" }124; CHECK: attributes #[[ATTR4]] = { "amdgpu-no-workgroup-id-y" "uniform-work-group-size"="false" }125; CHECK: attributes #[[ATTR5]] = { "amdgpu-no-workgroup-id-z" "uniform-work-group-size"="false" }126; CHECK: attributes #[[ATTR6]] = { "amdgpu-no-dispatch-ptr" "uniform-work-group-size"="false" }127; CHECK: attributes #[[ATTR7]] = { "amdgpu-no-queue-ptr" "uniform-work-group-size"="false" }128; CHECK: attributes #[[ATTR8]] = { "amdgpu-no-implicitarg-ptr" "uniform-work-group-size"="false" }129; CHECK: attributes #[[ATTR9]] = { "amdgpu-no-dispatch-id" "uniform-work-group-size"="false" }130;.131