105 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=dse -S | FileCheck %s3 4target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"5declare void @unknown_func()6 7define void @test6_store_same_value(ptr noalias %P) {8; CHECK-LABEL: @test6_store_same_value(9; CHECK-NEXT: store i32 0, ptr [[P:%.*]], align 410; CHECK-NEXT: br i1 true, label [[BB1:%.*]], label [[BB2:%.*]]11; CHECK: bb1:12; CHECK-NEXT: br label [[BB3:%.*]]13; CHECK: bb2:14; CHECK-NEXT: call void @unknown_func()15; CHECK-NEXT: br label [[BB3]]16; CHECK: bb3:17; CHECK-NEXT: store i32 0, ptr [[P]], align 418; CHECK-NEXT: ret void19;20 store i32 0, ptr %P21 br i1 true, label %bb1, label %bb222bb1:23 br label %bb324bb2:25 call void @unknown_func()26 br label %bb327bb3:28 store i32 0, ptr %P29 ret void30}31 32define void @test6_store_other_value(ptr noalias %P) {33; CHECK-LABEL: @test6_store_other_value(34; CHECK-NEXT: store i32 0, ptr [[P:%.*]], align 435; CHECK-NEXT: br i1 true, label [[BB1:%.*]], label [[BB2:%.*]]36; CHECK: bb1:37; CHECK-NEXT: br label [[BB3:%.*]]38; CHECK: bb2:39; CHECK-NEXT: call void @unknown_func()40; CHECK-NEXT: br label [[BB3]]41; CHECK: bb3:42; CHECK-NEXT: store i32 1, ptr [[P]], align 443; CHECK-NEXT: ret void44;45 store i32 0, ptr %P46 br i1 true, label %bb1, label %bb247bb1:48 br label %bb349bb2:50 call void @unknown_func()51 br label %bb352bb3:53 store i32 1, ptr %P54 ret void55}56 57define void @test23(ptr noalias %P) {58; CHECK-LABEL: @test23(59; CHECK-NEXT: br i1 true, label [[BB1:%.*]], label [[BB2:%.*]]60; CHECK: bb1:61; CHECK-NEXT: br label [[BB3:%.*]]62; CHECK: bb2:63; CHECK-NEXT: call void @unknown_func()64; CHECK-NEXT: br label [[BB3]]65; CHECK: bb3:66; CHECK-NEXT: store i32 0, ptr [[P:%.*]], align 467; CHECK-NEXT: ret void68;69 br i1 true, label %bb1, label %bb270bb1:71 store i32 0, ptr %P72 br label %bb373bb2:74 call void @unknown_func()75 br label %bb376bb3:77 store i32 0, ptr %P78 ret void79}80 81 82define void @test24(ptr noalias %P) {83; CHECK-LABEL: @test24(84; CHECK-NEXT: br i1 true, label [[BB2:%.*]], label [[BB1:%.*]]85; CHECK: bb1:86; CHECK-NEXT: br label [[BB3:%.*]]87; CHECK: bb2:88; CHECK-NEXT: call void @unknown_func()89; CHECK-NEXT: br label [[BB3]]90; CHECK: bb3:91; CHECK-NEXT: store i32 0, ptr [[P:%.*]], align 492; CHECK-NEXT: ret void93;94 br i1 true, label %bb2, label %bb195bb1:96 store i32 0, ptr %P97 br label %bb398bb2:99 call void @unknown_func()100 br label %bb3101bb3:102 store i32 0, ptr %P103 ret void104}105