// #target: macos-x64
module foo;

fn void test()
{
	int a;
	do
	{
		a++;
		defer a++;
	} while(a < 10);
}

/* #expect: foo.ll

define void @foo.test() #0 {
entry:
  %a = alloca i32, align 4
  store i32 0, ptr %a, align 4
  br label %loop.body

loop.body:                                        ; preds = %loop.cond, %entry
  %0 = load i32, ptr %a, align 4
  %add = add i32 %0, 1
  store i32 %add, ptr %a, align 4
  %1 = load i32, ptr %a, align 4
  %add1 = add i32 %1, 1
  store i32 %add1, ptr %a, align 4
  br label %loop.cond

loop.cond:                                        ; preds = %loop.body
  %2 = load i32, ptr %a, align 4
  %lt = icmp slt i32 %2, 10
  br i1 %lt, label %loop.body, label %loop.exit

loop.exit:                                        ; preds = %loop.cond
  ret void
}