Mercurial > hg > CbC > CbC_llvm
comparison llvm/test/CodeGen/AMDGPU/regcoalesce-dbg.mir @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | 5f17cb93ff66 |
children |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
1 # RUN: llc -march=amdgcn -run-pass simple-register-coalescing -o - %s | FileCheck %s | 1 # RUN: llc -march=amdgcn -run-pass register-coalescer -o - %s | FileCheck %s |
2 | 2 |
3 # Test that register coalescing does not allow a call to | 3 # Test that register coalescing does not allow a call to |
4 # LIS->getInstructionIndex with a DBG_VALUE instruction, which does not have | 4 # LIS->getInstructionIndex with a DBG_VALUE instruction, which does not have |
5 # a slot index. | 5 # a slot index. |
6 | 6 |
7 # CHECK: %13.sub2:sgpr_128 = S_MOV_B32 0 | 7 # CHECK: %13.sub2:sgpr_128 = S_MOV_B32 0 |
8 # CHECK: DBG_VALUE{{.*}} %13.sub2 | 8 # CHECK: DBG_VALUE{{.*}} %13.sub2 |
9 | 9 |
10 --- | | 10 --- | |
11 define amdgpu_kernel void @test(i32 addrspace(1)* %out) { ret void } | 11 define amdgpu_kernel void @test(ptr addrspace(1) %out) { ret void } |
12 | 12 |
13 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !4, producer: "llvm", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4) | 13 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !4, producer: "llvm", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4) |
14 !1 = !DILocalVariable(name: "a", scope: !2, file: !4, line: 126, type: !6) | 14 !1 = !DILocalVariable(name: "a", scope: !2, file: !4, line: 126, type: !6) |
15 !2 = distinct !DISubprogram(name: "test", scope: !4, file: !4, line: 1, type: !3, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !5) | 15 !2 = distinct !DISubprogram(name: "test", scope: !4, file: !4, line: 1, type: !3, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !5) |
16 !3 = !DISubroutineType(types: !4) | 16 !3 = !DISubroutineType(types: !4) |
54 bb.0: | 54 bb.0: |
55 liveins: $sgpr0_sgpr1, $vgpr0 | 55 liveins: $sgpr0_sgpr1, $vgpr0 |
56 | 56 |
57 %3 = COPY killed $vgpr0 | 57 %3 = COPY killed $vgpr0 |
58 %0 = COPY killed $sgpr0_sgpr1 | 58 %0 = COPY killed $sgpr0_sgpr1 |
59 %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 :: (non-temporal dereferenceable invariant load (s64) from `i64 addrspace(4)* undef`) | 59 %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 :: (non-temporal dereferenceable invariant load (s64) from `ptr addrspace(4) undef`) |
60 %5 = S_LOAD_DWORD_IMM killed %0, 13, 0 :: (non-temporal dereferenceable invariant load (s32) from `i32 addrspace(4)* undef`) | 60 %5 = S_LOAD_DWORD_IMM killed %0, 13, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) undef`) |
61 %18 = V_ASHRREV_I32_e32 31, %3, implicit $exec | 61 %18 = V_ASHRREV_I32_e32 31, %3, implicit $exec |
62 undef %19.sub0 = COPY killed %3 | 62 undef %19.sub0 = COPY killed %3 |
63 %19.sub1 = COPY killed %18 | 63 %19.sub1 = COPY killed %18 |
64 %10 = S_MOV_B32 61440 | 64 %10 = S_MOV_B32 61440 |
65 %11 = S_MOV_B32 0 | 65 %11 = S_MOV_B32 0 |
68 %12.sub1 = COPY killed %10 | 68 %12.sub1 = COPY killed %10 |
69 undef %13.sub0_sub1 = COPY killed %4 | 69 undef %13.sub0_sub1 = COPY killed %4 |
70 %13.sub2_sub3 = COPY killed %12 | 70 %13.sub2_sub3 = COPY killed %12 |
71 %20 = V_LSHL_B64_e64 killed %19, 2, implicit $exec | 71 %20 = V_LSHL_B64_e64 killed %19, 2, implicit $exec |
72 %16 = COPY killed %5 | 72 %16 = COPY killed %5 |
73 BUFFER_STORE_DWORD_ADDR64 killed %16, killed %20, killed %13, 0, 0, 0, 0, 0, implicit $exec :: (store (s32) into %ir.out) | 73 BUFFER_STORE_DWORD_ADDR64 killed %16, killed %20, killed %13, 0, 0, 0, 0, implicit $exec :: (store (s32) into %ir.out) |
74 S_ENDPGM 0 | 74 S_ENDPGM 0 |
75 | 75 |
76 ... | 76 ... |