1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 2; RUN: opt -S -passes=loop-reduce < %s | FileCheck %s 3 4; Make sure it does not assert. 5define i64 @test() { 6; CHECK-LABEL: define i64 @test() { 7; CHECK-NEXT: bb: 8; CHECK-NEXT: br label [[BB1:%.*]] 9; CHECK: bb1: 10; CHECK-NEXT: br label [[BB2:%.*]] 11; CHECK: bb2: 12; CHECK-NEXT: br i1 true, label [[BB5:%.*]], label [[BB2]] 13; CHECK: bb5: 14; CHECK-NEXT: br label [[BB1]] 15; 16bb: 17 br label %bb1 18 19bb1: 20 %phi = phi i8 [ %zext6, %bb5 ], [ 0, %bb ] 21 br label %bb2 22 23bb2: 24 %phi3 = phi i8 [ %add, %bb2 ], [ %phi, %bb1 ] 25 %phi4 = phi i32 [ 0, %bb2 ], [ 1, %bb1 ] 26 %add = add i8 %phi3, 1 27 br i1 true, label %bb5, label %bb2 28 29bb5: 30 %zext = zext i8 %add to i32 31 %icmp = icmp sge i32 %phi4, 0 32 %zext6 = zext i1 %icmp to i8 33 br label %bb1 34} 35