1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00
kickc/src/test/ref/struct-ptr-30.cfg

44 lines
1.6 KiB
INI

@begin: scope:[] from
[0] phi()
to:@1
@1: scope:[] from @begin
[1] phi()
[2] call main
to:@end
@end: scope:[] from @1
[3] phi()
main: scope:[main] from @1
[4] phi()
to:main::@1
main::@1: scope:[main] from main main::@2
[5] (byte) idx#14 ← phi( main/(byte) 0 main::@2/(byte) idx#12 )
[5] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 )
[6] (byte) main::$5 ← (byte) main::i#2 << (byte) 1
[7] (byte~) main::$2 ← (byte) main::$5 + (byte) main::i#2
[8] (byte) print::p_x#0 ← *((byte*)(const struct Point[4]) points#0 + (byte~) main::$2)
[9] (signed word) print::p_y#0 ← *((signed word*)(const struct Point[4]) points#0+(const byte) OFFSET_STRUCT_POINT_Y + (byte~) main::$2)
[10] call print
to:main::@2
main::@2: scope:[main] from main::@1
[11] (byte) main::i#1 ← ++ (byte) main::i#2
[12] if((byte) main::i#1!=(byte) 4) goto main::@1
to:main::@return
main::@return: scope:[main] from main::@2
[13] return
to:@return
print: scope:[print] from main::@1
[14] *((const byte*) SCREEN#0 + (byte) idx#14) ← (byte) print::p_x#0
[15] (byte) idx#3 ← ++ (byte) idx#14
[16] (byte~) print::$0 ← < (signed word) print::p_y#0
[17] *((const byte*) SCREEN#0 + (byte) idx#3) ← (byte~) print::$0
[18] (byte) idx#4 ← ++ (byte) idx#3
[19] (byte~) print::$1 ← > (signed word) print::p_y#0
[20] *((const byte*) SCREEN#0 + (byte) idx#4) ← (byte~) print::$1
[21] (byte) idx#5 ← ++ (byte) idx#4
[22] *((const byte*) SCREEN#0 + (byte) idx#5) ← (byte) ' '
[23] (byte) idx#12 ← ++ (byte) idx#5
to:print::@return
print::@return: scope:[print] from print
[24] return
to:@return