void main() main: scope:[main] from [0] phi() [1] call print to:main::@1 main::@1: scope:[main] from main [2] phi() [3] call print to:main::@2 main::@2: scope:[main] from main::@1 [4] phi() [5] call print to:main::@return main::@return: scope:[main] from main::@2 [6] return to:@return void print(byte* print::msg) print: scope:[print] from main main::@1 main::@2 [7] screen#20 = phi( main/(byte*) 1024, main::@1/screen#13, main::@2/screen#13 ) [7] print::msg#6 = phi( main/msg1, main::@1/main::msg2, main::@2/main::msg ) to:print::@1 print::@1: scope:[print] from print print::@2 [8] screen#13 = phi( print/screen#20, print::@2/screen#4 ) [8] print::msg#4 = phi( print/print::msg#6, print::@2/print::msg#3 ) [9] if(0!=*print::msg#4) goto print::@2 to:print::@return print::@return: scope:[print] from print::@1 [10] return to:@return print::@2: scope:[print] from print::@1 [11] *screen#13 = *print::msg#4 [12] screen#4 = ++ screen#13 [13] print::msg#3 = ++ print::msg#4 to:print::@1