65 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -O3 -mtriple=riscv64 -riscv-enable-copy-propagation=false | FileCheck %s --check-prefix=NOPROP3; RUN: llc < %s -O3 -mtriple=riscv64 -riscv-enable-copy-propagation=true | FileCheck %s --check-prefix=PROP4 5define void @copyprop_after_mbp(i32 %v, ptr %a, ptr %b, ptr %c, ptr %d) {6; NOPROP-LABEL: copyprop_after_mbp:7; NOPROP: # %bb.0:8; NOPROP-NEXT: sext.w a0, a09; NOPROP-NEXT: li a5, 1010; NOPROP-NEXT: bne a0, a5, .LBB0_211; NOPROP-NEXT: # %bb.1: # %bb.012; NOPROP-NEXT: li a0, 1513; NOPROP-NEXT: sw a0, 0(a2)14; NOPROP-NEXT: li a0, 115; NOPROP-NEXT: sw a0, 0(a1)16; NOPROP-NEXT: li a0, 1217; NOPROP-NEXT: sw a0, 0(a4)18; NOPROP-NEXT: ret19; NOPROP-NEXT: .LBB0_2: # %bb.120; NOPROP-NEXT: li a0, 021; NOPROP-NEXT: li a2, 2522; NOPROP-NEXT: sw a2, 0(a3)23; NOPROP-NEXT: sw a0, 0(a1)24; NOPROP-NEXT: li a0, 1225; NOPROP-NEXT: sw a0, 0(a4)26; NOPROP-NEXT: ret27;28; PROP-LABEL: copyprop_after_mbp:29; PROP: # %bb.0:30; PROP-NEXT: sext.w a0, a031; PROP-NEXT: li a5, 1032; PROP-NEXT: bne a0, a5, .LBB0_233; PROP-NEXT: # %bb.1: # %bb.034; PROP-NEXT: li a0, 1535; PROP-NEXT: sw a0, 0(a2)36; PROP-NEXT: li a0, 137; PROP-NEXT: sw a0, 0(a1)38; PROP-NEXT: li a0, 1239; PROP-NEXT: sw a0, 0(a4)40; PROP-NEXT: ret41; PROP-NEXT: .LBB0_2: # %bb.142; PROP-NEXT: li a2, 2543; PROP-NEXT: sw a2, 0(a3)44; PROP-NEXT: sw zero, 0(a1)45; PROP-NEXT: li a0, 1246; PROP-NEXT: sw a0, 0(a4)47; PROP-NEXT: ret48 %1 = icmp eq i32 %v, 1049 br i1 %1, label %bb.0, label %bb.150 51bb.0:52 store i32 15, ptr %b, align 453 br label %bb.254 55bb.1:56 store i32 25, ptr %c, align 457 br label %bb.258 59bb.2:60 %2 = phi i32 [ 1, %bb.0 ], [ 0, %bb.1 ]61 store i32 %2, ptr %a, align 462 store i32 12, ptr %d, align 463 ret void64}65