85 lines · plain
1; RUN: opt < %s -passes=jump-threading,correlated-propagation2 3%struct.S2 = type {}4 5@g_128 = external global %struct.S2, align 16@g_106 = external global i16, align 27 8define void @int328(i16 signext %p_82, i1 %arg) noreturn nounwind ssp {9entry:10 %tobool3 = icmp eq i16 %p_82, 011 br label %for.cond.outer12 13for.cond.outer: ; preds = %for.cond.loopexit, %entry14 br label %for.cond15 16for.cond.loopexit: ; preds = %bb.nph, %for.cond9.preheader17 br label %for.cond.outer18 19for.cond.loopexit4.us-lcssa: ; preds = %if.then20 br label %for.cond.loopexit421 22for.cond.loopexit4: ; preds = %for.cond.loopexit4.us-lcssa.us, %for.cond.loopexit4.us-lcssa23 br label %for.cond.backedge24 25for.cond: ; preds = %for.cond.backedge, %for.cond.outer26 br i1 %tobool3, label %for.cond.split.us, label %for.cond.for.cond.split_crit_edge27 28for.cond.for.cond.split_crit_edge: ; preds = %for.cond29 br label %lbl_13330 31for.cond.split.us: ; preds = %for.cond32 br label %lbl_133.us33 34lbl_133.us: ; preds = %lbl_134.us, %for.cond.split.us35 br i1 %arg, label %if.else14.us-lcssa.us, label %if.then.us36 37lbl_134.us: ; preds = %if.then.us38 %cmp = icmp eq i16 ptrtoint (ptr @g_128 to i16), 039 br i1 %cmp, label %for.cond9.preheader.us-lcssa.us, label %lbl_133.us40 41if.then.us: ; preds = %lbl_133.us42 br i1 true, label %for.cond.loopexit4.us-lcssa.us, label %lbl_134.us43 44if.else14.us-lcssa.us: ; preds = %lbl_133.us45 br label %if.else1446 47for.cond9.preheader.us-lcssa.us: ; preds = %lbl_134.us48 br label %for.cond9.preheader49 50for.cond.loopexit4.us-lcssa.us: ; preds = %if.then.us51 br label %for.cond.loopexit452 53lbl_133: ; preds = %lbl_134, %for.cond.for.cond.split_crit_edge54 %l_109.0 = phi i16 [ 0, %for.cond.for.cond.split_crit_edge ], [ ptrtoint (ptr @g_128 to i16), %lbl_134 ]55 %tobool = icmp eq i32 undef, 056 br i1 %tobool, label %if.else14.us-lcssa, label %if.then57 58if.then: ; preds = %lbl_13359 br i1 false, label %for.cond.loopexit4.us-lcssa, label %lbl_13460 61lbl_134: ; preds = %if.then62 %cmp2 = icmp eq i16 ptrtoint (ptr @g_128 to i16), 063 br i1 %cmp2, label %for.cond9.preheader.us-lcssa, label %lbl_13364 65for.cond9.preheader.us-lcssa: ; preds = %lbl_13466 br label %for.cond9.preheader67 68for.cond9.preheader: ; preds = %for.cond9.preheader.us-lcssa, %for.cond9.preheader.us-lcssa.us69 br i1 %arg, label %bb.nph, label %for.cond.loopexit70 71bb.nph: ; preds = %for.cond9.preheader72 br label %for.cond.loopexit73 74if.else14.us-lcssa: ; preds = %lbl_13375 br label %if.else1476 77if.else14: ; preds = %if.else14.us-lcssa, %if.else14.us-lcssa.us78 %l_109.0.lcssa = phi i16 [ %l_109.0, %if.else14.us-lcssa ], [ 0, %if.else14.us-lcssa.us ]79 store i16 undef, ptr @g_106, align 280 br label %for.cond.backedge81 82for.cond.backedge: ; preds = %if.else14, %for.cond.loopexit483 br label %for.cond84}85