33 lines · plain
1; RUN: opt < %s -loop-reduce -verify2target triple = "x86_64-apple-darwin10"3 4define void @myquicksort(ptr %a, i1 %arg) nounwind ssp {5entry:6 br i1 %arg, label %loop1, label %return7 8loop1: ; preds = %bb13.loopexit, %entry9 %indvar419 = phi i64 [ %indvar.next420, %loop2.exit ], [ 0, %entry ]10 %tmp474 = shl i64 %indvar419, 211 %tmp484 = add i64 %tmp474, 412 br label %loop213 14loop2: ; preds = %loop1, %loop2.backedge15 %indvar414 = phi i64 [ %indvar.next415, %loop2.backedge ], [ 0, %loop1 ]16 %tmp473 = mul i64 %indvar414, -417 %tmp485 = add i64 %tmp484, %tmp47318 %storemerge4 = getelementptr i8, ptr %a, i64 %tmp48519 %0 = icmp ugt ptr %storemerge4, %a20 br i1 false, label %loop2.exit, label %loop2.backedge21 22loop2.backedge: ; preds = %loop223 %indvar.next415 = add i64 %indvar414, 124 br label %loop225 26loop2.exit: ; preds = %loop227 %indvar.next420 = add i64 %indvar419, 128 br i1 %arg, label %loop1, label %return29 30return: ; preds = %loop2.exit, %entry31 ret void32}33