// #target: macos-x64 // #safe: yes module main; fn void main() { for (usz i = 0; i < 100000000; i++) { assert(i != 2, "Test %s %s", i, i * 2); } } /* #expect: main.ll %i = alloca i64, align 8 %taddr = alloca i64, align 8 %varargslots = alloca [2 x %any], align 16 %indirectarg = alloca %"any[]", align 8 store i64 0, ptr %i, align 8 br label %loop.cond loop.cond: ; preds = %assert_ok, %entry %0 = load i64, ptr %i, align 8 %gt = icmp ugt i64 100000000, %0 br i1 %gt, label %loop.body, label %loop.exit loop.body: ; preds = %loop.cond %1 = load i64, ptr %i, align 8 %neq = icmp ne i64 2, %1 br i1 %neq, label %assert_ok, label %assert_fail assert_fail: ; preds = %loop.body %2 = insertvalue %any undef, ptr %i, 0 %3 = insertvalue %any %2, i64 ptrtoint (ptr @"$ct.ulong" to i64), 1 %4 = load i64, ptr %i, align 8 %mul = mul i64 %4, 2 store i64 %mul, ptr %taddr, align 8 %5 = insertvalue %any undef, ptr %taddr, 0 %6 = insertvalue %any %5, i64 ptrtoint (ptr @"$ct.long" to i64), 1 store %any %3, ptr %varargslots, align 16 %ptradd = getelementptr inbounds i8, ptr %varargslots, i64 16 store %any %6, ptr %ptradd, align 16 %7 = insertvalue %"any[]" undef, ptr %varargslots, 0 %"$$temp" = insertvalue %"any[]" %7, i64 2, 1 store %"any[]" %"$$temp", ptr %indirectarg, align 8 call void @std.core.builtin.panicf(ptr @.panic_msg, i64 10, ptr @.file, i64 10, ptr @.func, i64 4, i32 7, ptr byval(%"any[]") align 8 %indirectarg) unreachable assert_ok: ; preds = %loop.body %8 = load i64, ptr %i, align 8 %add = add i64 %8, 1 store i64 %add, ptr %i, align 8 br label %loop.cond loop.exit: ; preds = %loop.cond