1; RUN: llc -mtriple=mipsel -O0 -relocation-model=pic < %s | FileCheck %s
2
3; Function Attrs: nounwind
4define i32 @main()  {
5entry:
6  %retval = alloca i32, align 4
7  %i = alloca i32, align 4
8  store i32 0, i32* %retval
9  store i32 0, i32* %i, align 4
10  br label %for.cond
11
12for.cond:                                         ; preds = %for.inc, %entry
13  %0 = load i32, i32* %i, align 4
14  %cmp = icmp slt i32 %0, 10
15  br i1 %cmp, label %for.body, label %for.end
16
17for.body:                                         ; preds = %for.cond
18  call void bitcast (void (...)* @foo to void ()*)()
19; CHECK: jalr $25
20  br label %for.inc
21
22for.inc:                                          ; preds = %for.body
23  %1 = load i32, i32* %i, align 4
24  %inc = add nsw i32 %1, 1
25  store i32 %inc, i32* %i, align 4
26  br label %for.cond
27
28for.end:                                          ; preds = %for.cond
29  %2 = load i32, i32* %retval
30  ret i32 %2
31}
32
33declare void @foo(...)
34