# an example with reducible control # flow graph that exposes poor # handling of looping constructs function $test() { @start %ten =w copy 10 %dum =w copy 0 # dummy live-through temporary @loop %alt =w phi @start 0, @left %alt1, @right %alt1 %cnt =w phi @start 100, @left %cnt, @right %cnt1 %alt1 =w sub 1, %alt jnz %alt1, @right, @left @left %x =w phi @loop 10, @left %x1 %x1 =w sub %x, 1 %z =w copy %x jnz %z, @left, @loop @right %cnt1 =w sub %cnt, %ten jnz %cnt1, @loop, @end @end %ret =w add %cnt, %dum ret }