blob: 16491002001a4ba35f38cd2d43c3c23817e774c3 [file] [log] [blame]
Nick Lewycky3dd81172008-11-02 05:52:50 +00001; RUN: llvm-as < %s | opt -mergefunc -stats |& grep {functions merged}
2
3define i32 @foo1(i32 %x) {
4entry:
5 %A = add i32 %x, 1
6 %B = call i32 @foo1(i32 %A)
7 br label %loop
8loop:
9 %C = phi i32 [%B, %entry], [%D, %loop]
10 %D = add i32 %C, 2
11 %E = icmp ugt i32 %D, 10000
12 br i1 %E, label %loopexit, label %loop
13loopexit:
14 ret i32 %D
15}
16
17define i32 @foo2(i32 %x) {
18entry:
19 %0 = add i32 %x, 1
20 %1 = call i32 @foo2(i32 %0)
21 br label %loop
22loop:
23 %2 = phi i32 [%1, %entry], [%3, %loop]
24 %3 = add i32 %2, 2
25 %4 = icmp ugt i32 %3, 10000
26 br i1 %4, label %loopexit, label %loop
27loopexit:
28 ret i32 %3
29}