packages feed

llvm-hs-pretty-0.4.0.0: tests/input/loopnest.ll

; ModuleID = 'simple module'

declare i32 @foo(i32, i32)

define i32 @main() {
entry:
  %0 = alloca i32
  store i32 0, i32* %0
  %1 = load i32, i32* %0
  %2 = alloca i32
  store i32 0, i32* %2
  %3 = load i32, i32* %2
  %4 = alloca i32
  store i32 0, i32* %4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %5 = load i32, i32* %4
  %6 = icmp ult i32 %5, 10
  br i1 %6, label %for.loop, label %for.exit

for.loop:                                         ; preds = %for.cond
  %7 = load i32, i32* %4
  %8 = alloca i32
  store i32 0, i32* %8
  br label %for.cond1

for.inc:                                          ; preds = %for.exit1
  %9 = add i32 %7, 1
  store i32 %9, i32* %4
  br label %for.cond

for.exit:                                         ; preds = %for.cond
  ret i32 0

for.cond1:                                        ; preds = %for.inc1, %for.loop
  %10 = load i32, i32* %8
  %11 = icmp ult i32 %10, 20
  br i1 %11, label %for.loop1, label %for.exit1

for.loop1:                                        ; preds = %for.cond1
  %12 = load i32, i32* %8
  %13 = call i32 @foo(i32 %1, i32 %3)
  br label %for.inc1

for.inc1:                                         ; preds = %for.loop1
  %14 = add i32 %12, 1
  store i32 %14, i32* %8
  br label %for.cond1

for.exit1:                                        ; preds = %for.cond1
  br label %for.inc
}