1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -basic-aa -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(i32* noalias %P, i32* 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, i32* [[C:%.*]] 14; CHECK-NEXT: br label [[BB3:%.*]] 15; CHECK: bb2: 16; CHECK-NEXT: store i32 4, i32* [[C]] 17; CHECK-NEXT: br label [[BB3]] 18; CHECK: bb3: 19; CHECK-NEXT: store i32 0, i32* [[P:%.*]] 20; CHECK-NEXT: ret void 21; 22 store i32 1, i32* %P 23 br i1 %c, label %bb1, label %bb2 24bb1: 25 store i32 3, i32* %C 26 br label %bb3 27bb2: 28 store i32 4, i32* %C 29 br label %bb3 30bb3: 31 store i32 0, i32* %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