[DAGCombiner] Eliminate dead stores to stack.
[llvm-complete.git] / test / CodeGen / AMDGPU / hsa-metadata-hidden-args-v3.ll
blobfa8a182cca94bfd0ce9ffa27a7c231833597512e
1 ; RUN: llc -mattr=+code-object-v3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s
2 ; RUN: llc -mattr=+code-object-v3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX803 --check-prefix=NOTES %s
3 ; RUN: llc -mattr=+code-object-v3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
5 ; CHECK: ---
6 ; CHECK:  amdhsa.kernels:
7 ; CHECK:        .symbol:     test.kd
8 ; CHECK:        .name:       test
9 ; CHECK:        .args:
10 ; CHECK-NEXT:     - .value_kind:      global_buffer
11 ; CHECK-NEXT:       .name:            r
12 ; CHECK-NEXT:       .offset:          0
13 ; CHECK-NEXT:       .size:            8
14 ; CHECK-NEXT:       .value_type:      f16
15 ; CHECK-NEXT:       .address_space:   global
16 ; CHECK-NEXT:     - .value_kind:      global_buffer
17 ; CHECK-NEXT:       .name:            a
18 ; CHECK-NEXT:       .offset:          8
19 ; CHECK-NEXT:       .size:            8
20 ; CHECK-NEXT:       .value_type:      f16
21 ; CHECK-NEXT:       .address_space:   global
22 ; CHECK-NEXT:     - .value_kind:      global_buffer
23 ; CHECK-NEXT:       .name:            b
24 ; CHECK-NEXT:       .offset:          16
25 ; CHECK-NEXT:       .size:            8
26 ; CHECK-NEXT:       .value_type:      f16
27 ; CHECK-NEXT:       .address_space:   global
28 ; CHECK-NEXT:     - .value_kind:      hidden_global_offset_x
29 ; CHECK-NEXT:       .offset:          24
30 ; CHECK-NEXT:       .size:            8
31 ; CHECK-NEXT:       .value_type:      i64
32 ; CHECK-NEXT:     - .value_kind:      hidden_global_offset_y
33 ; CHECK-NEXT:       .offset:          32
34 ; CHECK-NEXT:       .size:            8
35 ; CHECK-NEXT:       .value_type:      i64
36 ; CHECK-NEXT:     - .value_kind:      hidden_global_offset_z
37 ; CHECK-NEXT:       .offset:          40
38 ; CHECK-NEXT:       .size:            8
39 ; CHECK-NEXT:       .value_type:      i64
40 ; CHECK-NEXT:     - .value_kind:      hidden_none
41 ; CHECK-NEXT:       .offset:          48
42 ; CHECK-NEXT:       .size:            8
43 ; CHECK-NEXT:       .value_type:      i8
44 ; CHECK-NEXT:       .address_space:   global
45 ; CHECK-NEXT:     - .value_kind:      hidden_none
46 ; CHECK-NEXT:       .offset:          56
47 ; CHECK-NEXT:       .size:            8
48 ; CHECK-NEXT:       .value_type:      i8
49 ; CHECK-NEXT:       .address_space:   global
50 ; CHECK-NEXT:     - .value_kind:      hidden_none
51 ; CHECK-NEXT:       .offset:          64
52 ; CHECK-NEXT:       .size:            8
53 ; CHECK-NEXT:       .value_type:      i8
54 ; CHECK-NEXT:       .address_space:   global
55 define amdgpu_kernel void @test(
56     half addrspace(1)* %r,
57     half addrspace(1)* %a,
58     half addrspace(1)* %b) {
59 entry:
60   %a.val = load half, half addrspace(1)* %a
61   %b.val = load half, half addrspace(1)* %b
62   %r.val = fadd half %a.val, %b.val
63   store half %r.val, half addrspace(1)* %r
64   ret void
67 ; CHECK:  amdhsa.version:
68 ; CHECK-NEXT: - 1
69 ; CHECK-NEXT: - 0
71 !opencl.ocl.version = !{!0}
72 !0 = !{i32 2, i32 0}