1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# an example with reducible control
# flow graph that exposes poor
# handling of looping constructs
@start
%ten = copy 10
%dum = copy 0 # dummy live-through temporary
@loop
%alt = phi @start 0, @left %alt1, @right %alt1
%cnt = phi @start 100, @left %cnt, @right %cnt1
%alt1 = sub 1, %alt
jez %alt1, @left, @right
@left
%x = phi @loop 10, @left %x1
%x1 = sub %x, 1
%z = copy %x
jez %z, @loop, @left
@right
%cnt1 = sub %cnt, %ten
jez %cnt1, @end, @loop
@end
%ret = add %cnt, %dum
ret
|