Regression tests for live-variable analysis on machine code
[oota-llvm.git] / test / LiveVar / loops.ll
1 implementation
2
3 ;; Test live variable analysis:
4 ;; -- a simple nested loop
5 ;; -- a function call with arguments and return value
6
7 int "LoopTest"(int %i, int %j)
8 begin
9 Start:
10         %j1 = add int 0, 0
11         br label %L1Header
12
13 L1Header:
14         %j2 = phi int [%j1, %Start], [%j3, %L2Done]
15
16         %i1 = add int 0, 0             ; %i1 = 0
17         br label %L2Body
18 L2Body:
19         %wl = phi int [%j, %L1Header], [%wl, %L2Body]    ;; Useless PHI
20         %i2 = phi int [%i1, %L1Header], [%i3, %L2Body]
21         %i3 = add int %i2, 1
22         %L2Done = seteq int %i3, 10
23         br bool %L2Done, label %L2Done, label %L2Body
24 L2Done:
25         %j3 = add int %j2, %i3
26         %L1Done = seteq int %j3, 100
27         br bool %L1Done, label %L1Done, label %L1Header
28
29 L1Done:
30         %recurse = call int %LoopTest(int %j3, int %j3)
31         ret int %recurse
32 end