;; Check that we don't crash. PR37300. ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt %s -S -simplifycfg -simplifycfg-require-and-preserve-domtree=1 | FileCheck %s define void @patatino() { ; CHECK-LABEL: @patatino( ; CHECK-NEXT: bb: ; CHECK-NEXT: ret void ; bb: %tmp = icmp eq i32 7, 0 br label %bb3 bb3: ; preds = %bb2, %bb br label %bb36 bb5: ; preds = %bb4 %tmp7 = icmp ne i32 7, 0 %tmp8 = and i1 true, %tmp7 br i1 %tmp8, label %bb16, label %bb14 bb9: ; preds = %bb33, %bb10 br label %bb18 bb10: ; preds = %bb19, %bb13 %tmp11 = add nsw i32 2, 1 %tmp12 = icmp eq i32 %tmp11, 0 br i1 %tmp12, label %bb17, label %bb9 bb13: ; preds = %bb18, %bb13 br label %bb10 bb14: ; preds = %bb17, %bb6, %bb5 br label %bb35 bb16: ; preds = %bb6 br label %bb31 bb17: ; preds = %bb32, %bb10 br label %bb14 bb18: ; preds = %bb9 br label %bb13 bb21: ; preds = %bb31, %bb23 %tmp22 = phi i32 [ 0, %bb23 ], [ 0, %bb31 ] br label %bb27 bb23: ; preds = %bb29, %bb28, %bb26 %tmp24 = add nsw i32 %tmp22, 1 %tmp25 = icmp eq i32 %tmp24, 0 br i1 %tmp25, label %bb32, label %bb21 bb27: ; preds = %bb21 br label %bb30 bb28: ; preds = %bb30 br label %bb23 bb30: ; preds = %bb30, %bb27 br label %bb28 bb31: ; preds = %bb16 br label %bb21 bb32: ; preds = %bb23 br label %bb17 bb35: ; preds = %bb14 br label %bb3 bb36: ; preds = %bb3, %bb3 br label %bb37 bb37: ; preds = %bb36 %tmp39 = and i1 %tmp, true br i1 %tmp39, label %bb40, label %bb67 bb40: ; preds = %bb38 br i1 %tmp, label %bb42, label %bb41 bb41: ; preds = %bb40 br label %bb43 bb42: ; preds = %bb40 br label %bb66 bb43: ; preds = %bb41 br label %bb44 bb44: ; preds = %bb61, %bb43 %tmp45 = phi i32 [ 0, %bb61 ], [ 0, %bb43 ] %tmp46 = phi i32 [ %tmp62, %bb61 ], [ 0, %bb43 ] br label %bb51 bb48: ; preds = %bb47 br label %bb49 bb49: ; preds = %bb48 %tmp50 = phi i32 [ 0, %bb48 ] br label %bb61 bb51: ; preds = %bb44 br label %bb52 bb52: ; preds = %bb55, %bb51 %tmp53 = phi i32 [ %tmp46, %bb51 ], [ 0, %bb55 ] br label %bb55 bb54: ; preds = %bb52 br label %bb55 bb55: ; preds = %bb54, %bb52 %tmp56 = phi i32 [ 0, %bb54 ], [ 0, %bb52 ] %tmp57 = shl i32 %tmp56, 16 br i1 false, label %bb52, label %bb58 bb58: ; preds = %bb55 %tmp59 = phi i32 [ 0, %bb55 ] %tmp60 = phi i32 [ %tmp53, %bb55 ] br label %bb61 bb61: ; preds = %bb58, %bb49 %tmp62 = phi i32 [ %tmp59, %bb58 ], [ %tmp50, %bb49 ] %tmp63 = add nsw i32 %tmp45, 1 %tmp64 = icmp eq i32 %tmp63, 0 br i1 %tmp64, label %bb65, label %bb44 bb65: ; preds = %bb61 br label %bb66 bb66: ; preds = %bb65, %bb42 br label %bb67 bb67: ; preds = %bb66, %bb38 ret void }