1; RUN: llvm-as < %s | opt -loop-reduce -disable-output 2; PR 3086 3 4 %struct.Cls = type { i32, i8, [2 x %struct.Cls*], [2 x %struct.Lit*] } 5 %struct.Lit = type { i8 } 6 7define fastcc i64 @collect_clauses() nounwind { 8entry: 9 br label %bb11 10 11bb5: ; preds = %bb9 12 %0 = load %struct.Lit** %storemerge, align 8 ; <%struct.Lit*> [#uses=0] 13 %indvar.next8 = add i64 %storemerge.rec, 1 ; <i64> [#uses=1] 14 br label %bb9 15 16bb9: ; preds = %bb22, %bb5 17 %storemerge.rec = phi i64 [ %indvar.next8, %bb5 ], [ 0, %bb22 ] ; <i64> [#uses=2] 18 %storemerge = getelementptr %struct.Lit** null, i64 %storemerge.rec ; <%struct.Lit**> [#uses=2] 19 %1 = icmp ugt %struct.Lit** null, %storemerge ; <i1> [#uses=1] 20 br i1 %1, label %bb5, label %bb22 21 22bb11: ; preds = %bb22, %entry 23 %2 = load %struct.Cls** null, align 8 ; <%struct.Cls*> [#uses=0] 24 br label %bb22 25 26bb22: ; preds = %bb11, %bb9 27 br i1 false, label %bb11, label %bb9 28} 29