79 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -o - %s -mtriple=riscv64 -run-pass=machine-cp -mcp-use-is-copy-instr | FileCheck %s3 4## This test was added to capture a case where MachineCopyPropagation may5## leave a no-op register move (add reg, x0, reg).6## Due to the bug reported in7## <https://github.com/llvm/llvm-project/issues/166870>, we are not currently8## able to optimize this case.9 10---11name: ham12body: |13 ; CHECK-LABEL: name: ham14 ; CHECK: bb.0:15 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.3(0x40000000)16 ; CHECK-NEXT: liveins: $x1017 ; CHECK-NEXT: {{ $}}18 ; CHECK-NEXT: renamable $x11 = ANDI killed renamable $x10, 119 ; CHECK-NEXT: renamable $x10 = ADDI $x0, 120 ; CHECK-NEXT: BEQ killed renamable $x11, $x0, %bb.321 ; CHECK-NEXT: {{ $}}22 ; CHECK-NEXT: bb.1:23 ; CHECK-NEXT: successors: %bb.4(0x40000000), %bb.2(0x40000000)24 ; CHECK-NEXT: liveins: $x1025 ; CHECK-NEXT: {{ $}}26 ; CHECK-NEXT: $x11 = ADDI $x0, 027 ; CHECK-NEXT: renamable $x10 = ADDI killed renamable $x10, 028 ; CHECK-NEXT: BEQ renamable $x10, $x0, %bb.429 ; CHECK-NEXT: {{ $}}30 ; CHECK-NEXT: bb.2:31 ; CHECK-NEXT: $x10 = ADDI $x0, 032 ; CHECK-NEXT: PseudoRET implicit $x1033 ; CHECK-NEXT: {{ $}}34 ; CHECK-NEXT: bb.3:35 ; CHECK-NEXT: successors: %bb.4(0x40000000), %bb.2(0x40000000)36 ; CHECK-NEXT: liveins: $x1037 ; CHECK-NEXT: {{ $}}38 ; CHECK-NEXT: renamable $x11 = ADDI $x0, 139 ; CHECK-NEXT: renamable $x10 = ADD killed renamable $x11, killed renamable $x1040 ; CHECK-NEXT: BNE renamable $x10, $x0, %bb.241 ; CHECK-NEXT: {{ $}}42 ; CHECK-NEXT: bb.4:43 ; CHECK-NEXT: liveins: $x1044 ; CHECK-NEXT: {{ $}}45 ; CHECK-NEXT: PseudoRET implicit $x1046 bb.0:47 successors: %bb.1(0x40000000), %bb.2(0x40000000)48 liveins: $x1049 50 renamable $x11 = ANDI killed renamable $x10, 151 renamable $x10 = ADDI $x0, 152 BEQ killed renamable $x11, $x0, %bb.253 54 bb.1:55 successors: %bb.4(0x40000000), %bb.5(0x40000000)56 liveins: $x1057 58 $x11 = ADDI $x0, 059 renamable $x10 = ADD killed renamable $x11, killed renamable $x1060 BEQ renamable $x10, $x0, %bb.461 62 bb.5:63 $x10 = ADDI $x0, 064 PseudoRET implicit $x1065 66 bb.2:67 successors: %bb.4(0x40000000), %bb.5(0x40000000)68 liveins: $x1069 70 renamable $x11 = ADDI $x0, 171 renamable $x10 = ADD killed renamable $x11, killed renamable $x1072 BNE renamable $x10, $x0, %bb.573 74 bb.4:75 liveins: $x1076 77 PseudoRET implicit $x1078...79