implementation
-void "test function"(int %i0, int %j0)
- %x = const int 1
-begin
-Startup: ; Basic block #0
- %i1 = add int %i0, 1
- %j1 = add int %j0, 1
- %x = setle int %i1, %j1
- br bool %x, label %Increment, label %Decrement
-
-Merge: ; Basic block #3
- %i4 = phi int [%i2, %Increment], [%i3,%Decrement] ; Forward ref vars...
- %j2 = add int %j1, %i4
- ret void
-
-Increment: ; Basic block #1
- %i2 = add int %i1, 1
- br label %Merge
-
-Decrement: ; Basic block #2
- %i3 = sub int %i1, %x
- br label %Merge
-end
-
-
; Test "stripped" format where nothing is symbolic... this is how the bytecode
; format looks anyways (except for negative vs positive offsets)...
;