brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · fa01ee9 Raw
105 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals2; RUN: opt -S -mtriple=amdgcn-unknown-unknown -passes=amdgpu-attributor < %s | FileCheck %s3 4;.5; CHECK: @G1 = global ptr null6; CHECK: @G2 = global i32 07;.8define weak void @weak() {9; CHECK-LABEL: define {{[^@]+}}@weak10; CHECK-SAME: () #[[ATTR0:[0-9]+]] {11; CHECK-NEXT:    call void @internal1()12; CHECK-NEXT:    ret void13;14  call void @internal1()15  ret void16}17 18@G1 = global ptr null19 20define internal void @internal1() {21; CHECK-LABEL: define {{[^@]+}}@internal122; CHECK-SAME: () #[[ATTR1:[0-9]+]] {23; CHECK-NEXT:    [[TMP1:%.*]] = load ptr, ptr @G1, align 824; CHECK-NEXT:    store i32 0, ptr [[TMP1]], align 425; CHECK-NEXT:    ret void26;27  %1 = load ptr, ptr @G128  store i32 0, ptr %129  ret void30}31 32define amdgpu_kernel void @kernel1() #0 {33; CHECK-LABEL: define {{[^@]+}}@kernel134; CHECK-SAME: () #[[ATTR2:[0-9]+]] {35; CHECK-NEXT:    call void @weak()36; CHECK-NEXT:    ret void37;38  call void @weak()39  ret void40}41 42@G2 = global i32 043 44define internal void @internal3() {45; CHECK-LABEL: define {{[^@]+}}@internal346; CHECK-SAME: () #[[ATTR3:[0-9]+]] {47; CHECK-NEXT:    [[TMP1:%.*]] = load i32, ptr @G2, align 448; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[TMP1]], 049; CHECK-NEXT:    br i1 [[TMP2]], label [[TMP3:%.*]], label [[TMP4:%.*]]50; CHECK:       3:51; CHECK-NEXT:    call void @internal4()52; CHECK-NEXT:    call void @internal3()53; CHECK-NEXT:    br label [[TMP4]]54; CHECK:       4:55; CHECK-NEXT:    ret void56;57  %1 = load i32, ptr @G2, align 458  %2 = icmp eq i32 %1, 059  br i1 %2, label %3, label %4603:61  call void @internal4()62  call void @internal3()63  br label %4644:65  ret void66}67 68define internal void @internal4() {69; CHECK-LABEL: define {{[^@]+}}@internal470; CHECK-SAME: () #[[ATTR3]] {71; CHECK-NEXT:    store i32 1, ptr @G2, align 472; CHECK-NEXT:    ret void73;74  store i32 1, ptr @G2, align 475  ret void76}77 78define internal void @internal2() {79; CHECK-LABEL: define {{[^@]+}}@internal280; CHECK-SAME: () #[[ATTR3]] {81; CHECK-NEXT:    call void @internal3()82; CHECK-NEXT:    ret void83;84  call void @internal3()85  ret void86}87 88define amdgpu_kernel void @kernel2() #0 {89; CHECK-LABEL: define {{[^@]+}}@kernel290; CHECK-SAME: () #[[ATTR3]] {91; CHECK-NEXT:    call void @internal2()92; CHECK-NEXT:    ret void93;94  call void @internal2()95  ret void96}97 98attributes #0 = { "uniform-work-group-size"="true" }99;.100; CHECK: attributes #[[ATTR0]] = { "uniform-work-group-size"="false" }101; CHECK: attributes #[[ATTR1]] = { "amdgpu-no-cluster-id-x" "amdgpu-no-cluster-id-y" "amdgpu-no-cluster-id-z" "amdgpu-no-completion-action" "amdgpu-no-default-queue" "amdgpu-no-dispatch-id" "amdgpu-no-dispatch-ptr" "amdgpu-no-flat-scratch-init" "amdgpu-no-heap-ptr" "amdgpu-no-hostcall-ptr" "amdgpu-no-implicitarg-ptr" "amdgpu-no-lds-kernel-id" "amdgpu-no-multigrid-sync-arg" "amdgpu-no-queue-ptr" "amdgpu-no-workgroup-id-x" "amdgpu-no-workgroup-id-y" "amdgpu-no-workgroup-id-z" "amdgpu-no-workitem-id-x" "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" "uniform-work-group-size"="false" }102; CHECK: attributes #[[ATTR2]] = { "uniform-work-group-size"="true" }103; CHECK: attributes #[[ATTR3]] = { "amdgpu-no-cluster-id-x" "amdgpu-no-cluster-id-y" "amdgpu-no-cluster-id-z" "amdgpu-no-completion-action" "amdgpu-no-default-queue" "amdgpu-no-dispatch-id" "amdgpu-no-dispatch-ptr" "amdgpu-no-flat-scratch-init" "amdgpu-no-heap-ptr" "amdgpu-no-hostcall-ptr" "amdgpu-no-implicitarg-ptr" "amdgpu-no-lds-kernel-id" "amdgpu-no-multigrid-sync-arg" "amdgpu-no-queue-ptr" "amdgpu-no-workgroup-id-x" "amdgpu-no-workgroup-id-y" "amdgpu-no-workgroup-id-z" "amdgpu-no-workitem-id-x" "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" "uniform-work-group-size"="true" }104;.105