1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-16 21:07:56 +00:00
kickc/src/test/ref/printf-1.cfg

257 lines
11 KiB
INI
Raw Normal View History

@begin: scope:[] from
[0] phi()
to:@1
@1: scope:[] from @begin
[1] (byte*) printf_line_cursor ← (byte*) 1024
[2] (byte*) printf_char_cursor ← (byte*) 1024
to:@2
@2: scope:[] from @1
[3] phi()
[4] call main
to:@end
@end: scope:[] from @2
[5] phi()
(void()) main()
main: scope:[main] from @2
[6] phi()
[7] call printf_cls
to:main::@1
main::@1: scope:[main] from main
[8] phi()
[9] call printf_string
to:main::@2
main::@2: scope:[main] from main::@1
[10] phi()
[11] call printf_ln
to:main::@3
main::@3: scope:[main] from main::@2
[12] phi()
[13] call printf_string
to:main::@4
main::@4: scope:[main] from main::@3
[14] phi()
[15] call printf_ln
to:main::@5
main::@5: scope:[main] from main::@4
[16] phi()
[17] call printf_string
to:main::@6
main::@6: scope:[main] from main::@5
[18] phi()
[19] call printf_ln
to:main::@7
main::@7: scope:[main] from main::@6
[20] phi()
[21] call printf_string
to:main::@return
main::@return: scope:[main] from main::@7
[22] return
to:@return
(void()) printf_string((byte*) printf_string::str , (byte) printf_string::format_min_length , (byte) printf_string::format_justify_left)
printf_string: scope:[printf_string] from main::@1 main::@3 main::@5 main::@7
[23] (byte*) printf_string::str#10 ← phi( main::@1/(const byte*) main::str main::@3/(const byte*) main::str1 main::@5/(const byte*) main::str main::@7/(const byte*) main::str1 )
[23] (byte) printf_string::format_justify_left#10 ← phi( main::@1/(byte) 0 main::@3/(byte) 0 main::@5/(byte) 1 main::@7/(byte) 1 )
to:printf_string::@3
printf_string::@3: scope:[printf_string] from printf_string
[24] (byte*) strlen::str#1 ← (byte*) printf_string::str#10
[25] call strlen
[26] (word) strlen::return#2 ← (word) strlen::len#2
to:printf_string::@6
printf_string::@6: scope:[printf_string] from printf_string::@3
[27] (word~) printf_string::$9 ← (word) strlen::return#2
[28] (signed byte) printf_string::len#0 ← (signed byte)(word~) printf_string::$9
[29] (signed byte) printf_string::padding#1 ← (signed byte) $a - (signed byte) printf_string::len#0
[30] if((signed byte) printf_string::padding#1>=(signed byte) 0) goto printf_string::@10
to:printf_string::@1
printf_string::@10: scope:[printf_string] from printf_string::@6
[31] phi()
to:printf_string::@1
printf_string::@1: scope:[printf_string] from printf_string::@10 printf_string::@6
[32] (signed byte) printf_string::padding#3 ← phi( printf_string::@6/(signed byte) 0 printf_string::@10/(signed byte) printf_string::padding#1 )
[33] if((byte) 0!=(byte) printf_string::format_justify_left#10) goto printf_string::@2
to:printf_string::@8
printf_string::@8: scope:[printf_string] from printf_string::@1
[34] if((signed byte) 0!=(signed byte) printf_string::padding#3) goto printf_string::@4
to:printf_string::@2
printf_string::@4: scope:[printf_string] from printf_string::@8
[35] (byte) printf_padding::length#0 ← (byte)(signed byte) printf_string::padding#3
[36] call printf_padding
to:printf_string::@2
printf_string::@2: scope:[printf_string] from printf_string::@1 printf_string::@4 printf_string::@8
[37] (byte*) printf_str::str#1 ← (byte*) printf_string::str#10
[38] call printf_str
to:printf_string::@7
printf_string::@7: scope:[printf_string] from printf_string::@2
[39] if((byte) 0==(byte) printf_string::format_justify_left#10) goto printf_string::@return
to:printf_string::@9
printf_string::@9: scope:[printf_string] from printf_string::@7
[40] if((signed byte) 0!=(signed byte) printf_string::padding#3) goto printf_string::@5
to:printf_string::@return
printf_string::@5: scope:[printf_string] from printf_string::@9
[41] (byte) printf_padding::length#1 ← (byte)(signed byte) printf_string::padding#3
[42] call printf_padding
to:printf_string::@return
printf_string::@return: scope:[printf_string] from printf_string::@5 printf_string::@7 printf_string::@9
[43] return
to:@return
(void()) printf_padding((byte) printf_padding::pad , (byte) printf_padding::length)
printf_padding: scope:[printf_padding] from printf_string::@4 printf_string::@5
[44] (byte) printf_padding::pad#4 ← phi( printf_string::@4/(byte) ' ' printf_string::@5/(byte) ' ' )
[44] (byte) printf_padding::length#3 ← phi( printf_string::@4/(byte) printf_padding::length#0 printf_string::@5/(byte) printf_padding::length#1 )
to:printf_padding::@1
printf_padding::@1: scope:[printf_padding] from printf_padding printf_padding::@3
[45] (byte) printf_padding::i#2 ← phi( printf_padding/(byte) 0 printf_padding::@3/(byte) printf_padding::i#1 )
[46] if((byte) printf_padding::i#2<(byte) printf_padding::length#3) goto printf_padding::@2
to:printf_padding::@return
printf_padding::@return: scope:[printf_padding] from printf_padding::@1
[47] return
to:@return
printf_padding::@2: scope:[printf_padding] from printf_padding::@1
[48] (byte) printf_char::ch#0 ← (byte) printf_padding::pad#4
[49] call printf_char
to:printf_padding::@3
printf_padding::@3: scope:[printf_padding] from printf_padding::@2
[50] (byte) printf_padding::i#1 ← ++ (byte) printf_padding::i#2
to:printf_padding::@1
(void()) printf_char((byte) printf_char::ch)
2020-04-21 07:50:36 +00:00
printf_char: scope:[printf_char] from printf_padding::@2 printf_str::@5
[51] (byte) printf_char::ch#2 ← phi( printf_padding::@2/(byte) printf_char::ch#0 printf_str::@5/(byte) printf_char::ch#1 )
[52] *((byte*) printf_char_cursor) ← (byte) printf_char::ch#2
[53] (byte*) printf_char_cursor ← ++ (byte*) printf_char_cursor
2020-04-21 07:50:36 +00:00
[54] if((byte*) printf_char_cursor<(const byte*) printf_screen+(word)(number) $28*(number) $19) goto printf_char::@return
to:printf_char::@1
printf_char::@1: scope:[printf_char] from printf_char
[55] phi()
[56] call memcpy
to:printf_char::@2
printf_char::@2: scope:[printf_char] from printf_char::@1
[57] phi()
[58] call memset
to:printf_char::@3
printf_char::@3: scope:[printf_char] from printf_char::@2
[59] (byte*~) printf_char::$8 ← (byte*) printf_char_cursor - (byte) $28
[60] (byte*) printf_char_cursor ← (byte*~) printf_char::$8
[61] (byte*) printf_line_cursor ← (byte*) printf_char_cursor
to:printf_char::@return
printf_char::@return: scope:[printf_char] from printf_char printf_char::@3
[62] return
to:@return
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset] from printf_char::@2 printf_cls
[63] (byte) memset::c#4 ← phi( printf_char::@2/(byte) ' ' printf_cls/(byte) ' ' )
[63] (void*) memset::str#3 ← phi( printf_char::@2/(void*)(const byte*) printf_screen+(word)(number) $28*(number) $19-(byte) $28 printf_cls/(void*)(const byte*) printf_screen )
[63] (word) memset::num#2 ← phi( printf_char::@2/(byte) $28 printf_cls/(word)(number) $28*(number) $19 )
[64] if((word) memset::num#2<=(byte) 0) goto memset::@return
to:memset::@1
memset::@1: scope:[memset] from memset
[65] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2
[66] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
to:memset::@2
memset::@2: scope:[memset] from memset::@1 memset::@3
[67] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 )
[68] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3
to:memset::@return
memset::@return: scope:[memset] from memset memset::@2
[69] return
to:@return
memset::@3: scope:[memset] from memset::@2
[70] *((byte*) memset::dst#2) ← (byte) memset::c#4
[71] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
to:memset::@2
(void*()) memcpy((void*) memcpy::destination , (void*) memcpy::source , (word) memcpy::num)
memcpy: scope:[memcpy] from printf_char::@1
[72] phi()
to:memcpy::@1
memcpy::@1: scope:[memcpy] from memcpy memcpy::@2
[73] (byte*) memcpy::dst#2 ← phi( memcpy/(byte*)(const void*) memcpy::destination#0 memcpy::@2/(byte*) memcpy::dst#1 )
[73] (byte*) memcpy::src#2 ← phi( memcpy/(byte*)(const void*) memcpy::source#0 memcpy::@2/(byte*) memcpy::src#1 )
[74] if((byte*) memcpy::src#2!=(const byte*) memcpy::src_end#0) goto memcpy::@2
to:memcpy::@return
memcpy::@return: scope:[memcpy] from memcpy::@1
[75] return
to:@return
memcpy::@2: scope:[memcpy] from memcpy::@1
[76] *((byte*) memcpy::dst#2) ← *((byte*) memcpy::src#2)
[77] (byte*) memcpy::dst#1 ← ++ (byte*) memcpy::dst#2
[78] (byte*) memcpy::src#1 ← ++ (byte*) memcpy::src#2
to:memcpy::@1
(void()) printf_str((byte*) printf_str::str)
printf_str: scope:[printf_str] from printf_string::@2
[79] phi()
to:printf_str::@1
2020-04-21 07:50:36 +00:00
printf_str::@1: scope:[printf_str] from printf_str printf_str::@4 printf_str::@5
[80] (byte*) printf_str::str#2 ← phi( printf_str/(byte*) printf_str::str#1 printf_str::@4/(byte*) printf_str::str#0 printf_str::@5/(byte*) printf_str::str#0 )
to:printf_str::@2
printf_str::@2: scope:[printf_str] from printf_str::@1
[81] (byte) printf_str::ch#0 ← *((byte*) printf_str::str#2)
[82] (byte*) printf_str::str#0 ← ++ (byte*) printf_str::str#2
[83] if((byte) printf_str::ch#0!=(byte) 0) goto printf_str::@3
to:printf_str::@return
2020-04-21 07:50:36 +00:00
printf_str::@return: scope:[printf_str] from printf_str::@2
[84] return
to:@return
printf_str::@3: scope:[printf_str] from printf_str::@2
2020-04-21 07:50:36 +00:00
[85] if((byte) printf_str::ch#0==(byte) '
') goto printf_str::@4
to:printf_str::@5
printf_str::@5: scope:[printf_str] from printf_str::@3
[86] (byte) printf_char::ch#1 ← (byte) printf_str::ch#0
[87] call printf_char
to:printf_str::@1
printf_str::@4: scope:[printf_str] from printf_str::@3
[88] phi()
[89] call printf_ln
to:printf_str::@1
2020-04-21 07:50:36 +00:00
(void()) printf_ln()
printf_ln: scope:[printf_ln] from main::@2 main::@4 main::@6 printf_str::@4
[90] phi()
to:printf_ln::@1
printf_ln::@1: scope:[printf_ln] from printf_ln printf_ln::@1
[91] (byte*) printf_line_cursor ← (byte*) printf_line_cursor + (byte) $28
[92] if((byte*) printf_line_cursor<(byte*) printf_char_cursor) goto printf_ln::@1
to:printf_ln::@2
printf_ln::@2: scope:[printf_ln] from printf_ln::@1
[93] (byte*) printf_char_cursor ← (byte*) printf_line_cursor
to:printf_ln::@return
printf_ln::@return: scope:[printf_ln] from printf_ln::@2
[94] return
to:@return
(word()) strlen((byte*) strlen::str)
strlen: scope:[strlen] from printf_string::@3
2020-04-21 07:50:36 +00:00
[95] phi()
to:strlen::@1
strlen::@1: scope:[strlen] from strlen strlen::@2
2020-04-21 07:50:36 +00:00
[96] (word) strlen::len#2 ← phi( strlen/(word) 0 strlen::@2/(word) strlen::len#1 )
[96] (byte*) strlen::str#2 ← phi( strlen/(byte*) strlen::str#1 strlen::@2/(byte*) strlen::str#0 )
[97] if((byte) 0!=*((byte*) strlen::str#2)) goto strlen::@2
to:strlen::@return
strlen::@return: scope:[strlen] from strlen::@1
2020-04-21 07:50:36 +00:00
[98] return
to:@return
strlen::@2: scope:[strlen] from strlen::@1
2020-04-21 07:50:36 +00:00
[99] (word) strlen::len#1 ← ++ (word) strlen::len#2
[100] (byte*) strlen::str#0 ← ++ (byte*) strlen::str#2
to:strlen::@1
(void()) printf_cls()
printf_cls: scope:[printf_cls] from main
2020-04-21 07:50:36 +00:00
[101] phi()
[102] call memset
to:printf_cls::@1
printf_cls::@1: scope:[printf_cls] from printf_cls
2020-04-21 07:50:36 +00:00
[103] (byte*) printf_line_cursor ← (const byte*) printf_screen
[104] (byte*) printf_char_cursor ← (byte*) printf_line_cursor
to:printf_cls::@return
printf_cls::@return: scope:[printf_cls] from printf_cls::@1
2020-04-21 07:50:36 +00:00
[105] return
to:@return