mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-24 14:31:15 +00:00
Fixed test.
This commit is contained in:
parent
2acc1010ec
commit
cbe58167da
@ -11,14 +11,12 @@ CONTROL FLOW GRAPH SSA
|
|||||||
to:@1
|
to:@1
|
||||||
main: scope:[main] from @1
|
main: scope:[main] from @1
|
||||||
(byte) main::idx#0 ← (number) 0
|
(byte) main::idx#0 ← (number) 0
|
||||||
(bool~) main::$6 ← (number) 0 != (number) 0
|
(bool~) main::$0 ← ! (number) 0!=(number) 0
|
||||||
(bool~) main::$0 ← ! (bool~) main::$6
|
|
||||||
if((bool~) main::$0) goto main::@1
|
if((bool~) main::$0) goto main::@1
|
||||||
to:main::@3
|
to:main::@3
|
||||||
main::@1: scope:[main] from main main::@3
|
main::@1: scope:[main] from main main::@3
|
||||||
(byte) main::idx#13 ← phi( main/(byte) main::idx#0 main::@3/(byte) main::idx#1 )
|
(byte) main::idx#13 ← phi( main/(byte) main::idx#0 main::@3/(byte) main::idx#1 )
|
||||||
(bool~) main::$7 ← (number) 0 != (number) $3e7
|
(bool~) main::$1 ← ! (number) 0!=(number) $3e7
|
||||||
(bool~) main::$1 ← ! (bool~) main::$7
|
|
||||||
if((bool~) main::$1) goto main::@2
|
if((bool~) main::$1) goto main::@2
|
||||||
to:main::@4
|
to:main::@4
|
||||||
main::@3: scope:[main] from main
|
main::@3: scope:[main] from main
|
||||||
@ -40,8 +38,8 @@ main::@4: scope:[main] from main::@1
|
|||||||
main::@5: scope:[main] from main::@2 main::@6
|
main::@5: scope:[main] from main::@2 main::@6
|
||||||
(byte) main::idx#14 ← phi( main::@2/(byte) main::idx#2 main::@6/(byte) main::idx#15 )
|
(byte) main::idx#14 ← phi( main::@2/(byte) main::idx#2 main::@6/(byte) main::idx#15 )
|
||||||
(byte) main::i#2 ← phi( main::@2/(byte) main::i#0 main::@6/(byte) main::i#1 )
|
(byte) main::i#2 ← phi( main::@2/(byte) main::i#0 main::@6/(byte) main::i#1 )
|
||||||
(bool~) main::$8 ← (number) 0 != (byte) main::i#2
|
(bool~) main::$6 ← (number) 0 != (byte) main::i#2
|
||||||
(bool~) main::$2 ← ! (bool~) main::$8
|
(bool~) main::$2 ← ! (bool~) main::$6
|
||||||
if((bool~) main::$2) goto main::@6
|
if((bool~) main::$2) goto main::@6
|
||||||
to:main::@7
|
to:main::@7
|
||||||
main::@6: scope:[main] from main::@5 main::@7
|
main::@6: scope:[main] from main::@5 main::@7
|
||||||
@ -66,8 +64,8 @@ main::@8: scope:[main] from main::@6
|
|||||||
main::@9: scope:[main] from main::@10 main::@8
|
main::@9: scope:[main] from main::@10 main::@8
|
||||||
(byte) main::idx#16 ← phi( main::@10/(byte) main::idx#17 main::@8/(byte) main::idx#5 )
|
(byte) main::idx#16 ← phi( main::@10/(byte) main::idx#17 main::@8/(byte) main::idx#5 )
|
||||||
(word) main::i1#2 ← phi( main::@10/(word) main::i1#1 main::@8/(word) main::i1#0 )
|
(word) main::i1#2 ← phi( main::@10/(word) main::i1#1 main::@8/(word) main::i1#0 )
|
||||||
(bool~) main::$9 ← (number) 0 != (word) main::i1#2
|
(bool~) main::$7 ← (number) 0 != (word) main::i1#2
|
||||||
(bool~) main::$4 ← ! (bool~) main::$9
|
(bool~) main::$4 ← ! (bool~) main::$7
|
||||||
if((bool~) main::$4) goto main::@10
|
if((bool~) main::$4) goto main::@10
|
||||||
to:main::@11
|
to:main::@11
|
||||||
main::@10: scope:[main] from main::@11 main::@9
|
main::@10: scope:[main] from main::@11 main::@9
|
||||||
@ -109,8 +107,6 @@ SYMBOL TABLE SSA
|
|||||||
(bool~) main::$5
|
(bool~) main::$5
|
||||||
(bool~) main::$6
|
(bool~) main::$6
|
||||||
(bool~) main::$7
|
(bool~) main::$7
|
||||||
(bool~) main::$8
|
|
||||||
(bool~) main::$9
|
|
||||||
(label) main::@1
|
(label) main::@1
|
||||||
(label) main::@10
|
(label) main::@10
|
||||||
(label) main::@11
|
(label) main::@11
|
||||||
@ -156,8 +152,8 @@ SYMBOL TABLE SSA
|
|||||||
(byte) main::idx#9
|
(byte) main::idx#9
|
||||||
|
|
||||||
Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0
|
Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0
|
||||||
Adding number conversion cast (unumber) 0 in (bool~) main::$8 ← (number) 0 != (byte) main::i#2
|
Adding number conversion cast (unumber) 0 in (bool~) main::$6 ← (number) 0 != (byte) main::i#2
|
||||||
Adding number conversion cast (unumber) 0 in (bool~) main::$9 ← (number) 0 != (word) main::i1#2
|
Adding number conversion cast (unumber) 0 in (bool~) main::$7 ← (number) 0 != (word) main::i1#2
|
||||||
Successful SSA optimization PassNAddNumberTypeConversions
|
Successful SSA optimization PassNAddNumberTypeConversions
|
||||||
Inlining cast (byte*) SCREEN#0 ← (byte*)(number) $400
|
Inlining cast (byte*) SCREEN#0 ← (byte*)(number) $400
|
||||||
Inlining cast (byte) main::idx#0 ← (unumber)(number) 0
|
Inlining cast (byte) main::idx#0 ← (unumber)(number) 0
|
||||||
@ -171,10 +167,8 @@ Finalized unsigned number type (byte) 0
|
|||||||
Finalized unsigned number type (byte) 0
|
Finalized unsigned number type (byte) 0
|
||||||
Finalized unsigned number type (byte) 0
|
Finalized unsigned number type (byte) 0
|
||||||
Successful SSA optimization PassNFinalizeNumberTypeConversions
|
Successful SSA optimization PassNFinalizeNumberTypeConversions
|
||||||
Inversing boolean not [3] (bool~) main::$0 ← (number) 0 == (number) 0 from [2] (bool~) main::$6 ← (number) 0 != (number) 0
|
Inversing boolean not [19] (bool~) main::$2 ← (byte) 0 == (byte) main::i#2 from [18] (bool~) main::$6 ← (byte) 0 != (byte) main::i#2
|
||||||
Inversing boolean not [7] (bool~) main::$1 ← (number) 0 == (number) $3e7 from [6] (bool~) main::$7 ← (number) 0 != (number) $3e7
|
Inversing boolean not [34] (bool~) main::$4 ← (byte) 0 == (word) main::i1#2 from [33] (bool~) main::$7 ← (byte) 0 != (word) main::i1#2
|
||||||
Inversing boolean not [21] (bool~) main::$2 ← (byte) 0 == (byte) main::i#2 from [20] (bool~) main::$8 ← (byte) 0 != (byte) main::i#2
|
|
||||||
Inversing boolean not [36] (bool~) main::$4 ← (byte) 0 == (word) main::i1#2 from [35] (bool~) main::$9 ← (byte) 0 != (word) main::i1#2
|
|
||||||
Successful SSA optimization Pass2UnaryNotSimplification
|
Successful SSA optimization Pass2UnaryNotSimplification
|
||||||
Alias (byte) main::idx#0 = (byte) main::idx#7
|
Alias (byte) main::idx#0 = (byte) main::idx#7
|
||||||
Alias (byte) main::idx#13 = (byte) main::idx#9
|
Alias (byte) main::idx#13 = (byte) main::idx#9
|
||||||
@ -187,27 +181,29 @@ Successful SSA optimization Pass2AliasElimination
|
|||||||
Alias (byte) main::i#2 = (byte) main::i#3
|
Alias (byte) main::i#2 = (byte) main::i#3
|
||||||
Alias (word) main::i1#2 = (word) main::i1#3
|
Alias (word) main::i1#2 = (word) main::i1#3
|
||||||
Successful SSA optimization Pass2AliasElimination
|
Successful SSA optimization Pass2AliasElimination
|
||||||
Simple Condition (bool~) main::$0 [4] if((number) 0==(number) 0) goto main::@1
|
Simple Condition (bool~) main::$2 [20] if((byte) 0==(byte) main::i#2) goto main::@6
|
||||||
Simple Condition (bool~) main::$1 [8] if((number) 0==(number) $3e7) goto main::@2
|
Simple Condition (bool~) main::$3 [24] if((byte) main::i#1!=rangelast(0,2)) goto main::@5
|
||||||
Simple Condition (bool~) main::$2 [22] if((byte) 0==(byte) main::i#2) goto main::@6
|
Simple Condition (bool~) main::$4 [35] if((byte) 0==(word) main::i1#2) goto main::@10
|
||||||
Simple Condition (bool~) main::$3 [26] if((byte) main::i#1!=rangelast(0,2)) goto main::@5
|
Simple Condition (bool~) main::$5 [39] if((word) main::i1#1!=rangelast(0,2)) goto main::@9
|
||||||
Simple Condition (bool~) main::$4 [37] if((byte) 0==(word) main::i1#2) goto main::@10
|
|
||||||
Simple Condition (bool~) main::$5 [41] if((word) main::i1#1!=rangelast(0,2)) goto main::@9
|
|
||||||
Successful SSA optimization Pass2ConditionalJumpSimplification
|
Successful SSA optimization Pass2ConditionalJumpSimplification
|
||||||
|
Rewriting ! if()-condition to reversed if() [2] (bool~) main::$0 ← ! (number) 0!=(number) 0
|
||||||
|
Successful SSA optimization Pass2ConditionalAndOrRewriting
|
||||||
|
Rewriting ! if()-condition to reversed if() [5] (bool~) main::$1 ← ! (number) 0!=(number) $3e7
|
||||||
|
Successful SSA optimization Pass2ConditionalAndOrRewriting
|
||||||
Constant (const byte*) SCREEN#0 = (byte*) 1024
|
Constant (const byte*) SCREEN#0 = (byte*) 1024
|
||||||
Constant (const byte) main::idx#0 = 0
|
Constant (const byte) main::idx#0 = 0
|
||||||
Constant (const byte) main::i#0 = 0
|
Constant (const byte) main::i#0 = 0
|
||||||
Constant (const word) main::i1#0 = 0
|
Constant (const word) main::i1#0 = 0
|
||||||
Successful SSA optimization Pass2ConstantIdentification
|
Successful SSA optimization Pass2ConstantIdentification
|
||||||
if() condition always true - replacing block destination [4] if((number) 0==(number) 0) goto main::@1
|
if() condition always false - eliminating [3] if((number) 0!=(number) 0) goto main::@3
|
||||||
Removing PHI-reference to removed block (main::@1) in block main::@2
|
Removing PHI-reference to removed block (main::@1) in block main::@2
|
||||||
if() condition always false - eliminating [8] if((number) 0==(number) $3e7) goto main::@2
|
if() condition always true - replacing block destination [6] if((number) 0!=(number) $3e7) goto main::@4
|
||||||
Successful SSA optimization Pass2ConstantIfs
|
Successful SSA optimization Pass2ConstantIfs
|
||||||
Resolved ranged next value [24] main::i#1 ← ++ main::i#2 to ++
|
Resolved ranged next value [22] main::i#1 ← ++ main::i#2 to ++
|
||||||
Resolved ranged comparison value [26] if(main::i#1!=rangelast(0,2)) goto main::@5 to (number) 3
|
Resolved ranged comparison value [24] if(main::i#1!=rangelast(0,2)) goto main::@5 to (number) 3
|
||||||
Resolved ranged next value [39] main::i1#1 ← ++ main::i1#2 to ++
|
Resolved ranged next value [37] main::i1#1 ← ++ main::i1#2 to ++
|
||||||
Resolved ranged comparison value [41] if(main::i1#1!=rangelast(0,2)) goto main::@9 to (number) 3
|
Resolved ranged comparison value [39] if(main::i1#1!=rangelast(0,2)) goto main::@9 to (number) 3
|
||||||
Simplifying expression containing zero SCREEN#0 in [10] *((const byte*) SCREEN#0 + (const byte) main::idx#0) ← (byte) '0'
|
Simplifying expression containing zero SCREEN#0 in [8] *((const byte*) SCREEN#0 + (const byte) main::idx#0) ← (byte) '0'
|
||||||
Successful SSA optimization PassNSimplifyExpressionWithZero
|
Successful SSA optimization PassNSimplifyExpressionWithZero
|
||||||
Eliminating variable (byte) main::idx#1 from unused block main::@3
|
Eliminating variable (byte) main::idx#1 from unused block main::@3
|
||||||
Removing PHI-reference to removed block (main::@3) in block main::@1
|
Removing PHI-reference to removed block (main::@3) in block main::@1
|
||||||
|
Loading…
Reference in New Issue
Block a user