1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -passes=dse -stats -S 2>&1 | FileCheck %s 3 4; REQUIRES: asserts 5 6target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" 7 8 9define void @test2(ptr noalias %P, ptr noalias %C, i1 %c) { 10; CHECK-LABEL: @test2( 11; CHECK-NEXT: br i1 [[C:%.*]], label [[BB1:%.*]], label [[BB2:%.*]] 12; CHECK: bb1: 13; CHECK-NEXT: store i32 3, ptr [[C:%.*]] 14; CHECK-NEXT: br label [[BB3:%.*]] 15; CHECK: bb2: 16; CHECK-NEXT: store i32 4, ptr [[C]] 17; CHECK-NEXT: br label [[BB3]] 18; CHECK: bb3: 19; CHECK-NEXT: store i32 0, ptr [[P:%.*]] 20; CHECK-NEXT: ret void 21; 22 store i32 1, ptr %P 23 br i1 %c, label %bb1, label %bb2 24bb1: 25 store i32 3, ptr %C 26 br label %bb3 27bb2: 28 store i32 4, ptr %C 29 br label %bb3 30bb3: 31 store i32 0, ptr %P 32 ret void 33} 34 35; CHECK: 1 dse - Number of stores deleted 36; CHECK: 3 dse - Number of stores remaining after DSE 37