target triple = "x86_64-pc-linux-gnu"

declare i32 @getchar()
declare i32 @putchar(i32)

define i32 @main() {
  %x1 = call i32 @getchar()
  %x2 = alloca i32, align 4
  store i32 0, i32* %x2
  br label %L1

L1:
  %x3 = load i32, i32* %x2
  %x4 = icmp slt i32 %x3, 10
  br i1 %x4, label %L2, label %L3

L2:
  %x5 = call i32 @putchar(i32 %x1)
  %x6 = add i32 %x3, 1
  store i32 %x6, i32* %x2
  br label %L1

L3:
  %x7 = call i32 @putchar(i32 10)
  ret i32 0
}