blob: fd0baffb31081b0faff0b40f32f51dc132a2967d [file] [log] [blame]
Chandler Carruth1de43ed2012-07-02 19:09:46 +00001; RUN: opt < %s -mergefunc -stats -disable-output 2>&1 | not grep "functions merged"
Nick Lewycky579a0242008-11-02 05:52:50 +00002
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 %x, 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}