1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-03 07:29:37 +00:00
kickc/src/test/ref/irq-local-var-overlap-problem.cfg
2020-12-30 01:55:04 +01:00

137 lines
4.4 KiB
INI

__interrupt(rom_min_c64) void irq()
irq: scope:[irq] from
[0] *BG_COLOR = ++ *BG_COLOR
to:irq::@1
irq::@1: scope:[irq] from irq irq::@5
[1] irq::i#7 = phi( irq/0, irq::@5/irq::i#1 )
to:irq::@2
irq::@2: scope:[irq] from irq::@1 irq::@4
[2] irq::j#4 = phi( irq::@1/0, irq::@4/irq::j#1 )
to:irq::@3
irq::@3: scope:[irq] from irq::@2 irq::@7
[3] irq::k#2 = phi( irq::@2/0, irq::@7/irq::k#1 )
[4] irq::$2 = irq::i#7 + irq::j#4
[5] irq::$3 = irq::$2 + irq::k#2
[6] *FGCOL = irq::$3
[7] call sub_irq
to:irq::@7
irq::@7: scope:[irq] from irq::@3
[8] irq::k#1 = ++ irq::k#2
[9] if(irq::k#1!=$b) goto irq::@3
to:irq::@4
irq::@4: scope:[irq] from irq::@7
[10] irq::j#1 = ++ irq::j#4
[11] if(irq::j#1!=$b) goto irq::@2
to:irq::@5
irq::@5: scope:[irq] from irq::@4
[12] irq::i#1 = ++ irq::i#7
[13] if(irq::i#1!=$b) goto irq::@1
to:irq::@6
irq::@6: scope:[irq] from irq::@5
[14] *IRQ_STATUS = IRQ_RASTER
[15] *BG_COLOR = -- *BG_COLOR
to:irq::@return
irq::@return: scope:[irq] from irq::@6
[16] return
to:@return
void main()
main: scope:[main] from
asm { sei }
[18] *CIA1_INTERRUPT = CIA_INTERRUPT_CLEAR
[19] *VICII_CONTROL = *VICII_CONTROL & $7f
[20] *RASTER = $fd
[21] *IRQ_ENABLE = IRQ_RASTER
[22] *KERNEL_IRQ = &irq
asm { cli }
to:main::@1
main::@1: scope:[main] from main main::@5 main::@7
[24] main::i#7 = phi( main/0, main::@7/main::i#1, main::@5/0 )
to:main::@2
main::@2: scope:[main] from main::@1 main::@4
[25] main::j#4 = phi( main::@1/0, main::@4/main::j#1 )
to:main::@3
main::@3: scope:[main] from main::@2 main::@6
[26] main::k#2 = phi( main::@2/0, main::@6/main::k#1 )
[27] main::$0 = main::i#7 + main::j#4
[28] main::$1 = main::$0 + main::k#2
[29] *FGCOL = main::$1
[30] call sub_main
to:main::@6
main::@6: scope:[main] from main::@3
[31] main::k#1 = ++ main::k#2
[32] if(main::k#1!=$b) goto main::@3
to:main::@4
main::@4: scope:[main] from main::@6
[33] main::j#1 = ++ main::j#4
[34] if(main::j#1!=$b) goto main::@2
to:main::@5
main::@5: scope:[main] from main::@4
[35] main::i#1 = ++ main::i#7
[36] if(main::i#1!=$b) goto main::@7
to:main::@1
main::@7: scope:[main] from main::@5
[37] phi()
to:main::@1
void sub_irq()
sub_irq: scope:[sub_irq] from irq::@3
[38] phi()
to:sub_irq::@1
sub_irq::@1: scope:[sub_irq] from sub_irq sub_irq::@5
[39] sub_irq::i#6 = phi( sub_irq/0, sub_irq::@5/sub_irq::i#1 )
to:sub_irq::@2
sub_irq::@2: scope:[sub_irq] from sub_irq::@1 sub_irq::@4
[40] sub_irq::j#4 = phi( sub_irq::@1/0, sub_irq::@4/sub_irq::j#1 )
to:sub_irq::@3
sub_irq::@3: scope:[sub_irq] from sub_irq::@2 sub_irq::@3
[41] sub_irq::k#2 = phi( sub_irq::@2/0, sub_irq::@3/sub_irq::k#1 )
[42] sub_irq::$0 = sub_irq::i#6 + sub_irq::j#4
[43] sub_irq::$1 = sub_irq::$0 + sub_irq::k#2
[44] *BG_COLOR = sub_irq::$1
[45] sub_irq::k#1 = ++ sub_irq::k#2
[46] if(sub_irq::k#1!=$b) goto sub_irq::@3
to:sub_irq::@4
sub_irq::@4: scope:[sub_irq] from sub_irq::@3
[47] sub_irq::j#1 = ++ sub_irq::j#4
[48] if(sub_irq::j#1!=$b) goto sub_irq::@2
to:sub_irq::@5
sub_irq::@5: scope:[sub_irq] from sub_irq::@4
[49] sub_irq::i#1 = ++ sub_irq::i#6
[50] if(sub_irq::i#1!=$b) goto sub_irq::@1
to:sub_irq::@return
sub_irq::@return: scope:[sub_irq] from sub_irq::@5
[51] return
to:@return
void sub_main()
sub_main: scope:[sub_main] from main::@3
[52] phi()
to:sub_main::@1
sub_main::@1: scope:[sub_main] from sub_main sub_main::@5
[53] sub_main::i#6 = phi( sub_main/0, sub_main::@5/sub_main::i#1 )
to:sub_main::@2
sub_main::@2: scope:[sub_main] from sub_main::@1 sub_main::@4
[54] sub_main::j#4 = phi( sub_main::@1/0, sub_main::@4/sub_main::j#1 )
to:sub_main::@3
sub_main::@3: scope:[sub_main] from sub_main::@2 sub_main::@3
[55] sub_main::k#2 = phi( sub_main::@2/0, sub_main::@3/sub_main::k#1 )
[56] sub_main::$0 = sub_main::i#6 + sub_main::j#4
[57] sub_main::$1 = sub_main::$0 + sub_main::k#2
[58] *BG_COLOR = sub_main::$1
[59] sub_main::k#1 = ++ sub_main::k#2
[60] if(sub_main::k#1!=$b) goto sub_main::@3
to:sub_main::@4
sub_main::@4: scope:[sub_main] from sub_main::@3
[61] sub_main::j#1 = ++ sub_main::j#4
[62] if(sub_main::j#1!=$b) goto sub_main::@2
to:sub_main::@5
sub_main::@5: scope:[sub_main] from sub_main::@4
[63] sub_main::i#1 = ++ sub_main::i#6
[64] if(sub_main::i#1!=$b) goto sub_main::@1
to:sub_main::@return
sub_main::@return: scope:[sub_main] from sub_main::@5
[65] return
to:@return