[llvm] d49707c - [AMDGPU] Generate test checks for splitkit-copy-bundle.mir

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 01:26:39 PDT 2020


Author: Jay Foad
Date: 2020-09-17T09:26:09+01:00
New Revision: d49707cf4b288e8d3cad00a78cfa45ec4c376496

URL: https://github.com/llvm/llvm-project/commit/d49707cf4b288e8d3cad00a78cfa45ec4c376496
DIFF: https://github.com/llvm/llvm-project/commit/d49707cf4b288e8d3cad00a78cfa45ec4c376496.diff

LOG: [AMDGPU] Generate test checks for splitkit-copy-bundle.mir

This is a pre-commit for D87757 "[SplitKit] Only copy live lanes".

Added: 
    

Modified: 
    llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir b/llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
index dca3150b404c..c02b9a001fbb 100644
--- a/llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
+++ b/llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
@@ -1,42 +1,178 @@
-# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefixes=MIR,RA %s
-# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy,virtregrewriter,post-RA-sched -o - -verify-machineinstrs %s | FileCheck -check-prefixes=MIR,VR %s
-# RUN: llc -march=amdgcn -mcpu=gfx900 -start-before=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefix=ASM %s
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefix=RA %s
+# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy,virtregrewriter,post-RA-sched -o - -verify-machineinstrs %s | FileCheck -check-prefix=VR %s
 
 ---
-# MIR-LABEL: name: splitkit_copy_bundle
-
-# RA:      undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %5.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
-# RA-NEXT:       internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %5.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
-# RA-NEXT:       internal %4.sub28_sub29:sgpr_1024 = COPY %5.sub28_sub29
-# RA-NEXT: }
-
-# RA:      undef %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
-# RA-NEXT:       internal %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
-# RA-NEXT:       internal %6.sub28_sub29:sgpr_1024 = COPY %4.sub28_sub29
-# RA-NEXT: }
-
-
-# RA:      undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
-# RA-NEXT:       internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
-# RA-NEXT:       internal %4.sub28_sub29:sgpr_1024 = COPY %6.sub28_sub29
-# RA-NEXT: }
-
-
-# VR:         renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = KILL undef renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
-# VR-NEXT:    renamable $sgpr96_sgpr97 = KILL undef renamable $sgpr96_sgpr97
-
-# ASM-LABEL: {{^}}splitkit_copy_bundle:
-# ASM:      ; implicit-def: $sgpr34_sgpr35
-# ASM-NEXT: ; implicit-def: $sgpr98_sgpr99
-# ASM-NEXT: ; kill: def $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 killed $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
-# ASM-NEXT: ; kill: def $sgpr96_sgpr97 killed $sgpr96_sgpr97
-
 name:            splitkit_copy_bundle
 tracksRegLiveness: true
 machineFunctionInfo:
   scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
   stackPtrOffsetReg: '$sgpr32'
 body:             |
+  ; RA-LABEL: name: splitkit_copy_bundle
+  ; RA: bb.0:
+  ; RA:   successors: %bb.1(0x80000000)
+  ; RA:   [[DEF:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
+  ; RA:   [[DEF1:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
+  ; RA:   undef %5.sub1:sgpr_1024 = S_MOV_B32 -1
+  ; RA:   %5.sub0:sgpr_1024 = S_MOV_B32 -1
+  ; RA:   undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %5.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
+  ; RA:     internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %5.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
+  ; RA:     internal %4.sub28_sub29:sgpr_1024 = COPY %5.sub28_sub29
+  ; RA:   }
+  ; RA:   undef %3.sub0:sgpr_1024 = S_MOV_B32 0
+  ; RA: bb.1:
+  ; RA:   successors: %bb.2(0x80000000)
+  ; RA:   undef %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
+  ; RA:     internal %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
+  ; RA:     internal %6.sub28_sub29:sgpr_1024 = COPY %4.sub28_sub29
+  ; RA:   }
+  ; RA:   %6.sub2:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub3:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub4:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub5:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub6:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub7:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub8:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub9:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub10:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub11:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub12:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub13:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub14:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub15:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub16:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub17:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub18:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub19:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub20:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub21:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub22:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub23:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub24:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub25:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub26:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub27:sgpr_1024 = COPY %6.sub1
+  ; RA:   %6.sub28:sgpr_1024 = COPY %6.sub0
+  ; RA:   %6.sub29:sgpr_1024 = COPY %6.sub1
+  ; RA:   undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
+  ; RA:     internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
+  ; RA:     internal %4.sub28_sub29:sgpr_1024 = COPY %6.sub28_sub29
+  ; RA:   }
+  ; RA:   %3.sub1:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub2:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub3:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub4:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub5:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub6:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub7:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub8:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub9:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub10:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub11:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub12:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub13:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub14:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub15:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub16:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub17:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub18:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub19:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub20:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub21:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub22:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub23:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub24:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub25:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub26:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub27:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub28:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub29:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub30:sgpr_1024 = COPY %3.sub0
+  ; RA:   %3.sub31:sgpr_1024 = COPY %3.sub0
+  ; RA: bb.2:
+  ; RA:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
+  ; RA:   S_NOP 0, csr_amdgpu_highregs, implicit [[DEF]], implicit [[DEF1]]
+  ; RA:   S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc
+  ; RA:   S_BRANCH %bb.2
+  ; VR-LABEL: name: splitkit_copy_bundle
+  ; VR: bb.0:
+  ; VR:   successors: %bb.1(0x80000000)
+  ; VR:   renamable $sgpr69 = S_MOV_B32 -1
+  ; VR:   renamable $sgpr68 = S_MOV_B32 -1
+  ; VR:   renamable $sgpr36 = S_MOV_B32 0
+  ; VR:   renamable $sgpr34_sgpr35 = IMPLICIT_DEF
+  ; VR:   renamable $sgpr98_sgpr99 = IMPLICIT_DEF
+  ; VR:   renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = KILL undef renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
+  ; VR:   renamable $sgpr96_sgpr97 = KILL undef renamable $sgpr96_sgpr97
+  ; VR: bb.1:
+  ; VR:   successors: %bb.2(0x80000000)
+  ; VR:   liveins: $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67:0x0000000000000003, $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99:0x0FFFFFFFFFFFFFFF, $sgpr34_sgpr35, $sgpr98_sgpr99
+  ; VR:   renamable $sgpr70 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr71 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr72 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr73 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr74 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr75 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr76 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr77 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr78 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr79 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr80 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr81 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr82 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr83 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr84 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr85 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr86 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr87 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr88 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr89 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr90 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr91 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr92 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr93 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr94 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr95 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr96 = COPY renamable $sgpr68
+  ; VR:   renamable $sgpr97 = COPY renamable $sgpr69
+  ; VR:   renamable $sgpr37 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr38 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr39 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr40 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr41 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr42 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr43 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr44 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr45 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr46 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr47 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr48 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr49 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr50 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr51 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr52 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr53 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr54 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr55 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr56 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr57 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr58 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr59 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr60 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr61 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr62 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr63 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr64 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr65 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr66 = COPY renamable $sgpr36
+  ; VR:   renamable $sgpr67 = COPY renamable $sgpr36
+  ; VR: bb.2:
+  ; VR:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
+  ; VR:   liveins: $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67:0x0000000000000003, $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99:0x0FFFFFFFFFFFFFFF, $sgpr34_sgpr35, $sgpr98_sgpr99
+  ; VR:   S_NOP 0, csr_amdgpu_highregs, implicit renamable $sgpr34_sgpr35, implicit renamable $sgpr98_sgpr99
+  ; VR:   S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc
+  ; VR:   S_BRANCH %bb.2
   bb.0:
     %0:sreg_64 = IMPLICIT_DEF
     %1:sreg_64 = IMPLICIT_DEF


        


More information about the llvm-commits mailing list