mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-08 14:37:40 +00:00
Added initial min/max sin-generator.
This commit is contained in:
parent
d5fd4a41c3
commit
0663888a3f
@ -0,0 +1,2 @@
|
||||
clc
|
||||
adc {z1}+1
|
@ -42,7 +42,7 @@ public class TestPrograms {
|
||||
public static void tearDown() throws Exception {
|
||||
CompileLog log = new CompileLog();
|
||||
log.setSysOut(true);
|
||||
AsmFragmentTemplateUsages.logUsages(log, true, false, false, false, false, false);
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -60,6 +60,11 @@ public class TestPrograms {
|
||||
compileAndCompare("sinusgen16");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSinusGenScale8() throws IOException, URISyntaxException {
|
||||
compileAndCompare("sinusgenscale8");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSinusGen8() throws IOException, URISyntaxException {
|
||||
compileAndCompare("sinusgen8");
|
||||
|
@ -27,6 +27,16 @@ signed word mul8s(signed byte a, signed byte b) {
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Multiply a signed byte and an unsigned byte (into a signed word)
|
||||
// Fixes offsets introduced by using unsigned multiplication
|
||||
signed word mul8su(signed byte a, byte b) {
|
||||
word m = mul8u((byte)a, (byte) b);
|
||||
if(a<0) {
|
||||
>m = (>m)-(byte)b;
|
||||
}
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word
|
||||
dword mul16u(word a, word b) {
|
||||
dword res = 0;
|
||||
|
58
src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc
Normal file
58
src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc
Normal file
@ -0,0 +1,58 @@
|
||||
import "sinus.kc"
|
||||
import "multiply.kc"
|
||||
import "print.kc"
|
||||
|
||||
void main() {
|
||||
word tabsize = 20;
|
||||
byte[20] sintab;
|
||||
print_cls();
|
||||
sin8u_table(sintab, tabsize, 10, 255);
|
||||
/*
|
||||
print_cls();
|
||||
for(byte i: 0..191) {
|
||||
signed byte sb = sintab[i];
|
||||
if(sb>=0) {
|
||||
print_str(" @");
|
||||
}
|
||||
print_sbyte(sb);
|
||||
print_str(" @");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// Generate unsigned byte sinus table in a min-max range
|
||||
// sintab - the table to generate into
|
||||
// tabsize - the number of sinus points (the size of the table)
|
||||
// min - the minimal value
|
||||
// max - the maximal value
|
||||
void sin8u_table(byte* sintab, word tabsize, byte min, byte max) {
|
||||
byte amplitude = max-min;
|
||||
word sum = min+max;
|
||||
byte mid = (byte)(sum>>1);
|
||||
// u[4.28] step = PI*2/wavelength
|
||||
word step = div16u(PI2_u4f12, tabsize); // u[4.12]
|
||||
print_str("step:@");
|
||||
print_word(step);
|
||||
print_str(" min:@");
|
||||
print_byte(min);
|
||||
print_str(" max:@");
|
||||
print_byte(max);
|
||||
print_str(" ampl:@");
|
||||
print_byte(amplitude);
|
||||
print_str(" mid:@");
|
||||
print_byte(mid);
|
||||
print_ln();
|
||||
// Iterate over the table
|
||||
word x = 0; // u[4.12]
|
||||
for( word i=0; i<tabsize; i++) {
|
||||
byte sinval = mid+>mul8su(sin8s(x), amplitude);
|
||||
*sintab++ = sinval;
|
||||
print_str("x: @");
|
||||
print_word(x);
|
||||
print_str(" sin: @");
|
||||
print_byte(sinval);
|
||||
print_ln();
|
||||
x = x + step;
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@28
|
||||
@28: scope:[] from @begin
|
||||
to:@29
|
||||
@29: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @28
|
||||
main: scope:[main] from @29
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call sin16s_gen param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@5
|
||||
|
@ -330,6 +330,16 @@ signed word mul8s(signed byte a, signed byte b) {
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Multiply a signed byte and an unsigned byte (into a signed word)
|
||||
// Fixes offsets introduced by using unsigned multiplication
|
||||
signed word mul8su(signed byte a, byte b) {
|
||||
word m = mul8u((byte)a, (byte) b);
|
||||
if(a<0) {
|
||||
>m = (>m)-(byte)b;
|
||||
}
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word
|
||||
dword mul16u(word a, word b) {
|
||||
dword res = 0;
|
||||
@ -719,6 +729,27 @@ mul8s::@return:
|
||||
(signed word) mul8s::return ← (signed word) mul8s::return
|
||||
return (signed word) mul8s::return
|
||||
endproc // mul8s()
|
||||
proc (signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
lval((byte~) mul8su::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
mul8su::@1:
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
goto mul8su::@return
|
||||
mul8su::@return:
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
endproc // mul8su()
|
||||
proc (dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← (word) mul16u::b
|
||||
@ -1312,6 +1343,23 @@ SYMBOLS
|
||||
(signed byte) mul8s::b
|
||||
(word) mul8s::m
|
||||
(signed word) mul8s::return
|
||||
(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0
|
||||
(byte~) mul8su::$1
|
||||
(word~) mul8su::$2
|
||||
(boolean~) mul8su::$3
|
||||
(boolean~) mul8su::$4
|
||||
(byte~) mul8su::$5
|
||||
(byte~) mul8su::$6
|
||||
(byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(signed word~) mul8su::$9
|
||||
(label) mul8su::@1
|
||||
(label) mul8su::@return
|
||||
(signed byte) mul8su::a
|
||||
(byte) mul8su::b
|
||||
(word) mul8su::m
|
||||
(signed word) mul8su::return
|
||||
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||
(boolean~) mul8u::$0
|
||||
(byte~) mul8u::$1
|
||||
@ -1534,6 +1582,7 @@ SYMBOLS
|
||||
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$16 mul8s::$16 ← mul8s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$17 mul8s::$17 ← mul8s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8su::$10 mul8su::$10 ← mul8su::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$16 mul16s::$16 ← mul16s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$17 mul16s::$17 ← mul16s::$14
|
||||
Promoting byte to word in mul8u::mb ← ((word)) mul8u::b
|
||||
@ -1912,6 +1961,35 @@ mul8s::@5: scope:[mul8s] from
|
||||
to:mul8s::@return
|
||||
@9: scope:[] from @8
|
||||
to:@10
|
||||
mul8su: scope:[mul8su] from
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
to:mul8su::@2
|
||||
mul8su::@1: scope:[mul8su] from mul8su mul8su::@2
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
to:mul8su::@return
|
||||
mul8su::@2: scope:[mul8su] from mul8su
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(word) mul8su::m ← (word) mul8su::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10
|
||||
to:mul8su::@1
|
||||
mul8su::@return: scope:[mul8su] from mul8su::@1 mul8su::@3
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
to:@return
|
||||
mul8su::@3: scope:[mul8su] from
|
||||
to:mul8su::@return
|
||||
@10: scope:[] from @9
|
||||
to:@11
|
||||
mul16u: scope:[mul16u] from
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← ((dword)) (word) mul16u::b
|
||||
@ -1951,8 +2029,8 @@ mul16u::@return: scope:[mul16u] from mul16u::@3 mul16u::@9
|
||||
to:@return
|
||||
mul16u::@9: scope:[mul16u] from
|
||||
to:mul16u::@return
|
||||
@10: scope:[] from @9
|
||||
to:@11
|
||||
@11: scope:[] from @10
|
||||
to:@12
|
||||
mul16s: scope:[mul16s] from
|
||||
(word~) mul16s::$0 ← ((word)) (signed word) mul16s::a
|
||||
(word~) mul16s::$1 ← ((word)) (signed word) mul16s::b
|
||||
@ -1993,14 +2071,14 @@ mul16s::@return: scope:[mul16s] from mul16s::@2 mul16s::@5
|
||||
to:@return
|
||||
mul16s::@5: scope:[mul16s] from
|
||||
to:mul16s::@return
|
||||
@11: scope:[] from @10
|
||||
@12: scope:[] from @11
|
||||
(dword) PI2_u4f28 ← (dword/signed dword) 1686629713
|
||||
(dword) PI_u4f28 ← (dword/signed dword) 843314857
|
||||
(dword) PI_HALF_u4f28 ← (dword/signed dword) 421657428
|
||||
(word) PI2_u4f12 ← (word/signed word/dword/signed dword) 25736
|
||||
(word) PI_u4f12 ← (word/signed word/dword/signed dword) 12868
|
||||
(word) PI_HALF_u4f12 ← (word/signed word/dword/signed dword) 6434
|
||||
to:@12
|
||||
to:@13
|
||||
sin16s_gen: scope:[sin16s_gen] from
|
||||
(dword~) sin16s_gen::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_gen::wavelength
|
||||
(dword) sin16s_gen::step ← (dword~) sin16s_gen::$0
|
||||
@ -2023,8 +2101,8 @@ sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1
|
||||
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@2
|
||||
return
|
||||
to:@return
|
||||
@12: scope:[] from @11
|
||||
to:@13
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
sin8s_gen: scope:[sin8s_gen] from
|
||||
(word~) sin8s_gen::$0 ← call div16u (word) PI2_u4f12 (word) sin8s_gen::wavelength
|
||||
(word) sin8s_gen::step ← (word~) sin8s_gen::$0
|
||||
@ -2046,8 +2124,8 @@ sin8s_gen::@2: scope:[sin8s_gen] from sin8s_gen::@1
|
||||
sin8s_gen::@return: scope:[sin8s_gen] from sin8s_gen::@2
|
||||
return
|
||||
to:@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
sin16s: scope:[sin16s] from
|
||||
(byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) sin16s::$0 ← (dword) sin16s::x >= (dword) PI_u4f28
|
||||
@ -2109,8 +2187,8 @@ sin16s::@return: scope:[sin16s] from sin16s::@3 sin16s::@7
|
||||
to:@return
|
||||
sin16s::@7: scope:[sin16s] from
|
||||
to:sin16s::@return
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
sin8s: scope:[sin8s] from
|
||||
(byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) sin8s::$0 ← (word) sin8s::x >= (word) PI_u4f12
|
||||
@ -2180,8 +2258,8 @@ sin8s::@return: scope:[sin8s] from sin8s::@4 sin8s::@9
|
||||
to:@return
|
||||
sin8s::@9: scope:[sin8s] from
|
||||
to:sin8s::@return
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
mulu16_sel: scope:[mulu16_sel] from
|
||||
(dword~) mulu16_sel::$0 ← call mul16u (word) mulu16_sel::v1 (word) mulu16_sel::v2
|
||||
(dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select
|
||||
@ -2194,8 +2272,8 @@ mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel mulu16_sel::@1
|
||||
to:@return
|
||||
mulu16_sel::@1: scope:[mulu16_sel] from
|
||||
to:mulu16_sel::@return
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
@17: scope:[] from @16
|
||||
to:@18
|
||||
mulu8_sel: scope:[mulu8_sel] from
|
||||
(word~) mulu8_sel::$0 ← call mul8u (byte) mulu8_sel::v1 (byte) mulu8_sel::v2
|
||||
(word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select
|
||||
@ -2208,11 +2286,11 @@ mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel mulu8_sel::@1
|
||||
to:@return
|
||||
mulu8_sel::@1: scope:[mulu8_sel] from
|
||||
to:mulu8_sel::@return
|
||||
@17: scope:[] from @16
|
||||
@18: scope:[] from @17
|
||||
(byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:@18
|
||||
to:@19
|
||||
print_str: scope:[print_str] from
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
@ -2235,8 +2313,8 @@ print_str::@6: scope:[print_str] from
|
||||
print_str::@return: scope:[print_str] from print_str::@3
|
||||
return
|
||||
to:@return
|
||||
@18: scope:[] from @17
|
||||
to:@19
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
print_ln: scope:[print_ln] from
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
@ -2251,8 +2329,8 @@ print_ln::@2: scope:[print_ln] from print_ln::@1
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@2
|
||||
return
|
||||
to:@return
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
print_sword: scope:[print_sword] from
|
||||
(boolean~) print_sword::$0 ← (signed word) print_sword::w < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0
|
||||
@ -2270,8 +2348,8 @@ print_sword::@2: scope:[print_sword] from print_sword
|
||||
print_sword::@return: scope:[print_sword] from print_sword::@1
|
||||
return
|
||||
to:@return
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
print_sbyte: scope:[print_sbyte] from
|
||||
(boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sbyte::$1 ← ! (boolean~) print_sbyte::$0
|
||||
@ -2289,8 +2367,8 @@ print_sbyte::@2: scope:[print_sbyte] from print_sbyte
|
||||
print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1
|
||||
return
|
||||
to:@return
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
print_word: scope:[print_word] from
|
||||
(byte~) print_word::$0 ← > (word) print_word::w
|
||||
(void~) print_word::$1 ← call print_byte (byte~) print_word::$0
|
||||
@ -2300,8 +2378,8 @@ print_word: scope:[print_word] from
|
||||
print_word::@return: scope:[print_word] from print_word
|
||||
return
|
||||
to:@return
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
print_dword: scope:[print_dword] from
|
||||
(word~) print_dword::$0 ← > (dword) print_dword::dw
|
||||
(void~) print_dword::$1 ← call print_word (word~) print_dword::$0
|
||||
@ -2311,8 +2389,8 @@ print_dword: scope:[print_dword] from
|
||||
print_dword::@return: scope:[print_dword] from print_dword
|
||||
return
|
||||
to:@return
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
print_sdword: scope:[print_sdword] from
|
||||
(boolean~) print_sdword::$0 ← (signed dword) print_sdword::dw < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sdword::$1 ← ! (boolean~) print_sdword::$0
|
||||
@ -2330,8 +2408,8 @@ print_sdword::@2: scope:[print_sdword] from print_sdword
|
||||
print_sdword::@return: scope:[print_sdword] from print_sdword::@1
|
||||
return
|
||||
to:@return
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
print_byte: scope:[print_byte] from
|
||||
(byte[]) print_byte::hextab ← (string) "0123456789abcdef"
|
||||
(byte~) print_byte::$0 ← (byte) print_byte::b >> (byte/signed byte/word/signed word/dword/signed dword) 4
|
||||
@ -2342,8 +2420,8 @@ print_byte: scope:[print_byte] from
|
||||
print_byte::@return: scope:[print_byte] from print_byte
|
||||
return
|
||||
to:@return
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
@26: scope:[] from @25
|
||||
to:@27
|
||||
print_char: scope:[print_char] from
|
||||
*((byte*) char_cursor) ← (byte) print_char::ch
|
||||
(byte*) char_cursor ← ++ (byte*) char_cursor
|
||||
@ -2351,8 +2429,8 @@ print_char: scope:[print_char] from
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
return
|
||||
to:@return
|
||||
@26: scope:[] from @25
|
||||
to:@27
|
||||
@27: scope:[] from @26
|
||||
to:@28
|
||||
print_cls: scope:[print_cls] from
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
to:print_cls::@1
|
||||
@ -2370,8 +2448,8 @@ print_cls::@2: scope:[print_cls] from print_cls::@1
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
return
|
||||
to:@return
|
||||
@27: scope:[] from @26
|
||||
to:@28
|
||||
@28: scope:[] from @27
|
||||
to:@29
|
||||
main: scope:[main] from
|
||||
(word) main::wavelength ← (byte/signed byte/word/signed word/dword/signed dword) 120
|
||||
(signed word[120]) main::sintab1 ← { fill( 120, 0) }
|
||||
@ -2403,14 +2481,15 @@ main::@4: scope:[main] from main::@2
|
||||
main::@return: scope:[main] from main::@4
|
||||
return
|
||||
to:@return
|
||||
@28: scope:[] from @27
|
||||
@29: scope:[] from @28
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
|
||||
Removing unused procedure div8s
|
||||
Removing unused procedure div16s
|
||||
Removing unused procedure mul8s
|
||||
Removing unused procedure mul8su
|
||||
Removing unused procedure mul16s
|
||||
Removing unused procedure sin8s_gen
|
||||
Removing unused procedure print_ln
|
||||
@ -2453,24 +2532,24 @@ Removing empty block @6
|
||||
Removing empty block @7
|
||||
Removing empty block @8
|
||||
Removing empty block @9
|
||||
Removing empty block @10
|
||||
Removing empty block mul16u::@5
|
||||
Removing empty block mul16u::@6
|
||||
Removing empty block mul16u::@8
|
||||
Removing empty block mul16u::@9
|
||||
Removing empty block @10
|
||||
Removing empty block @11
|
||||
Removing empty block sin16s_gen::@2
|
||||
Removing empty block @12
|
||||
Removing empty block @13
|
||||
Removing empty block sin16s::@7
|
||||
Removing empty block @14
|
||||
Removing empty block sin16s::@7
|
||||
Removing empty block @15
|
||||
Removing empty block mulu16_sel::@1
|
||||
Removing empty block @16
|
||||
Removing empty block mulu16_sel::@1
|
||||
Removing empty block @17
|
||||
Removing empty block print_str::@4
|
||||
Removing empty block print_str::@3
|
||||
Removing empty block print_str::@5
|
||||
Removing empty block print_str::@6
|
||||
Removing empty block @18
|
||||
Removing empty block @19
|
||||
Removing empty block @20
|
||||
Removing empty block @21
|
||||
@ -2480,6 +2559,7 @@ Removing empty block @24
|
||||
Removing empty block @25
|
||||
Removing empty block @26
|
||||
Removing empty block @27
|
||||
Removing empty block @28
|
||||
Removing empty block main::@4
|
||||
PROCEDURE MODIFY VARIABLE ANALYSIS
|
||||
divr16u modifies rem16u
|
||||
@ -2509,7 +2589,7 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
to:@2
|
||||
@2: scope:[] from @begin
|
||||
(word) rem16u#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
to:@11
|
||||
to:@12
|
||||
divr16u: scope:[divr16u] from div32u16u div32u16u::@2
|
||||
(word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 )
|
||||
(word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 )
|
||||
@ -2677,12 +2757,12 @@ mul16u::@return: scope:[mul16u] from mul16u::@3
|
||||
(dword) mul16u::return#1 ← (dword) mul16u::return#3
|
||||
return
|
||||
to:@return
|
||||
@11: scope:[] from @2
|
||||
@12: scope:[] from @2
|
||||
(word) rem16u#29 ← phi( @2/(word) rem16u#0 )
|
||||
(dword) PI2_u4f28#0 ← (dword/signed dword) 1686629713
|
||||
(dword) PI_u4f28#0 ← (dword/signed dword) 843314857
|
||||
(dword) PI_HALF_u4f28#0 ← (dword/signed dword) 421657428
|
||||
to:@17
|
||||
to:@18
|
||||
sin16s_gen: scope:[sin16s_gen] from main
|
||||
(signed word*) sin16s_gen::sintab#5 ← phi( main/(signed word*) sin16s_gen::sintab#1 )
|
||||
(word) rem16u#21 ← phi( main/(word) rem16u#23 )
|
||||
@ -2881,12 +2961,12 @@ mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2
|
||||
(word) mulu16_sel::return#6 ← (word) mulu16_sel::return#12
|
||||
return
|
||||
to:@return
|
||||
@17: scope:[] from @11
|
||||
(word) rem16u#28 ← phi( @11/(word) rem16u#29 )
|
||||
@18: scope:[] from @12
|
||||
(word) rem16u#28 ← phi( @12/(word) rem16u#29 )
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@28
|
||||
to:@29
|
||||
print_str: scope:[print_str] from main::@3 main::@7
|
||||
(byte*) char_cursor#51 ← phi( main::@3/(byte*) char_cursor#49 main::@7/(byte*) char_cursor#17 )
|
||||
(byte*) print_str::str#5 ← phi( main::@3/(byte*) print_str::str#2 main::@7/(byte*) print_str::str#1 )
|
||||
@ -3027,10 +3107,10 @@ print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
(byte*) char_cursor#15 ← (byte*) char_cursor#35
|
||||
return
|
||||
to:@return
|
||||
main: scope:[main] from @28
|
||||
(byte*) char_cursor#53 ← phi( @28/(byte*) char_cursor#50 )
|
||||
(byte*) line_cursor#13 ← phi( @28/(byte*) line_cursor#12 )
|
||||
(word) rem16u#23 ← phi( @28/(word) rem16u#25 )
|
||||
main: scope:[main] from @29
|
||||
(byte*) char_cursor#53 ← phi( @29/(byte*) char_cursor#50 )
|
||||
(byte*) line_cursor#13 ← phi( @29/(byte*) line_cursor#12 )
|
||||
(word) rem16u#23 ← phi( @29/(word) rem16u#25 )
|
||||
(word) main::wavelength#0 ← (byte/signed byte/word/signed word/dword/signed dword) 120
|
||||
(signed word[120]) main::sintab1#0 ← { fill( 120, 0) }
|
||||
(signed word*) sin16s_gen::sintab#1 ← (signed word[120]) main::sintab1#0
|
||||
@ -3127,28 +3207,28 @@ main::@return: scope:[main] from main::@8
|
||||
(byte*) char_cursor#20 ← (byte*) char_cursor#40
|
||||
return
|
||||
to:@return
|
||||
@28: scope:[] from @17
|
||||
(byte*) char_cursor#50 ← phi( @17/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#12 ← phi( @17/(byte*) line_cursor#0 )
|
||||
(word) rem16u#25 ← phi( @17/(word) rem16u#28 )
|
||||
@29: scope:[] from @18
|
||||
(byte*) char_cursor#50 ← phi( @18/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#12 ← phi( @18/(byte*) line_cursor#0 )
|
||||
(word) rem16u#25 ← phi( @18/(word) rem16u#28 )
|
||||
call main param-assignment
|
||||
to:@29
|
||||
@29: scope:[] from @28
|
||||
(byte*) char_cursor#41 ← phi( @28/(byte*) char_cursor#20 )
|
||||
(byte*) line_cursor#9 ← phi( @28/(byte*) line_cursor#4 )
|
||||
(word) rem16u#19 ← phi( @28/(word) rem16u#9 )
|
||||
to:@30
|
||||
@30: scope:[] from @29
|
||||
(byte*) char_cursor#41 ← phi( @29/(byte*) char_cursor#20 )
|
||||
(byte*) line_cursor#9 ← phi( @29/(byte*) line_cursor#4 )
|
||||
(word) rem16u#19 ← phi( @29/(word) rem16u#9 )
|
||||
(word) rem16u#10 ← (word) rem16u#19
|
||||
(byte*) line_cursor#5 ← (byte*) line_cursor#9
|
||||
(byte*) char_cursor#21 ← (byte*) char_cursor#41
|
||||
to:@end
|
||||
@end: scope:[] from @29
|
||||
@end: scope:[] from @30
|
||||
|
||||
SYMBOL TABLE SSA
|
||||
(label) @11
|
||||
(label) @17
|
||||
(label) @12
|
||||
(label) @18
|
||||
(label) @2
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @30
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(dword) PI2_u4f28
|
||||
@ -4235,15 +4315,15 @@ Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sw
|
||||
Succesful SSA optimization Pass2NopCastElimination
|
||||
Culled Empty Block (label) @2
|
||||
Culled Empty Block (label) mul16u::@3
|
||||
Culled Empty Block (label) @11
|
||||
Culled Empty Block (label) @17
|
||||
Culled Empty Block (label) @12
|
||||
Culled Empty Block (label) @18
|
||||
Culled Empty Block (label) print_sword::@3
|
||||
Culled Empty Block (label) print_word::@2
|
||||
Culled Empty Block (label) print_byte::@2
|
||||
Culled Empty Block (label) print_cls::@2
|
||||
Culled Empty Block (label) main::@6
|
||||
Culled Empty Block (label) main::@9
|
||||
Culled Empty Block (label) @29
|
||||
Culled Empty Block (label) @30
|
||||
Succesful SSA optimization Pass2CullEmptyBlocks
|
||||
Not aliassing across scopes: rem16u#1 divr16u::rem#11
|
||||
Not aliassing across scopes: divr16u::return#2 divr16u::return#0
|
||||
@ -4489,7 +4569,7 @@ Constant inlined print_byte::$4 = (const string) print_byte::hextab#0
|
||||
Constant inlined main::$9 = (const signed word[120]) main::sintab1#0+(const word) main::wavelength#0*(byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
Constant inlined main::$8 = (const word) main::wavelength#0*(byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
Succesful SSA optimization Pass2ConstantInlining
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return
|
||||
Added new block during phi lifting main::@10(between main::@8 and main::@1)
|
||||
Added new block during phi lifting main::@11(between main::@1 and main::@2)
|
||||
Added new block during phi lifting print_sword::@5(between print_sword and print_sword::@1)
|
||||
@ -4503,9 +4583,9 @@ Added new block during phi lifting mul16u::@10(between mul16u::@2 and mul16u::@4
|
||||
Added new block during phi lifting divr16u::@8(between divr16u::@3 and divr16u::@1)
|
||||
Added new block during phi lifting divr16u::@9(between divr16u::@1 and divr16u::@2)
|
||||
Added new block during phi lifting divr16u::@10(between divr16u::@2 and divr16u::@3)
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return main::@10 main::@11 print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return print_cls::@3 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s_gen::@5 sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 sin16s::@14 sin16s::@13 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return main::@10 main::@11 print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return print_cls::@3 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s_gen::@5 sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 sin16s::@14 sin16s::@13 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @28
|
||||
Adding NOP phi() at start of @29
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main
|
||||
Adding NOP phi() at start of main::@5
|
||||
@ -4639,9 +4719,9 @@ Culled Empty Block (label) mul16u::@10
|
||||
Culled Empty Block (label) divr16u::@8
|
||||
Culled Empty Block (label) divr16u::@10
|
||||
Culled Empty Block (label) divr16u::@9
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@1 main::@3 main::@2 main::@7 main::@8 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @28
|
||||
Adding NOP phi() at start of @29
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main
|
||||
Adding NOP phi() at start of main::@5
|
||||
@ -4688,14 +4768,14 @@ Propagating live ranges...
|
||||
FINAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@28
|
||||
@28: scope:[] from @begin
|
||||
to:@29
|
||||
@29: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @28
|
||||
main: scope:[main] from @29
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call sin16s_gen param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@5
|
||||
@ -5009,76 +5089,76 @@ divr16u::@return: scope:[divr16u] from divr16u::@6
|
||||
|
||||
DOMINATORS
|
||||
@begin dominated by @begin
|
||||
@28 dominated by @28 @begin
|
||||
@end dominated by @end @28 @begin
|
||||
main dominated by @28 main @begin
|
||||
main::@5 dominated by @28 main main::@5 @begin
|
||||
main::@1 dominated by @28 main main::@1 main::@5 @begin
|
||||
main::@3 dominated by @28 main main::@1 main::@5 main::@3 @begin
|
||||
main::@2 dominated by @28 main main::@1 main::@2 main::@5 @begin
|
||||
main::@7 dominated by main::@7 @28 main main::@1 main::@2 main::@5 @begin
|
||||
main::@8 dominated by main::@7 main::@8 @28 main main::@1 main::@2 main::@5 @begin
|
||||
main::@return dominated by main::@7 main::@8 @28 main main::@1 main::@2 main::@5 @begin main::@return
|
||||
print_str dominated by @28 main main::@1 main::@5 @begin print_str
|
||||
print_str::@1 dominated by @28 main main::@1 main::@5 @begin print_str::@1 print_str
|
||||
print_str::@return dominated by @28 main main::@1 main::@5 @begin print_str::@return print_str::@1 print_str
|
||||
print_str::@2 dominated by @28 main main::@1 main::@5 @begin print_str::@1 print_str::@2 print_str
|
||||
print_sword dominated by @28 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@2 dominated by print_sword::@2 @28 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@4 dominated by print_sword::@2 @28 print_sword::@4 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@1 dominated by print_sword::@1 @28 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@return dominated by print_sword::@1 @28 main main::@1 main::@2 main::@5 @begin print_sword::@return print_sword
|
||||
print_word dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_word::@1 dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_word::@1 print_sword
|
||||
print_word::@return dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_word::@return print_word::@1 print_sword
|
||||
print_byte dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_byte print_sword
|
||||
print_byte::@1 dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_byte::@1 print_byte print_sword
|
||||
print_byte::@return dominated by print_sword::@1 @28 main print_word main::@1 main::@2 main::@5 @begin print_byte::@return print_byte::@1 print_byte print_sword
|
||||
print_char dominated by @28 main print_char main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_char::@return dominated by @28 main print_char main::@1 main::@2 main::@5 print_char::@return @begin print_sword
|
||||
print_cls dominated by @28 main main::@5 @begin print_cls
|
||||
print_cls::@1 dominated by @28 main main::@5 @begin print_cls::@1 print_cls
|
||||
print_cls::@return dominated by @28 main main::@5 @begin print_cls::@return print_cls::@1 print_cls
|
||||
sin16s_gen dominated by @28 main @begin sin16s_gen
|
||||
sin16s_gen::@3 dominated by @28 main @begin sin16s_gen sin16s_gen::@3
|
||||
sin16s_gen::@1 dominated by @28 main @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1
|
||||
sin16s_gen::@4 dominated by @28 main @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1
|
||||
sin16s_gen::@return dominated by @28 main sin16s_gen::@return @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1
|
||||
sin16s dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1
|
||||
sin16s::@4 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s::@4
|
||||
sin16s::@1 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1
|
||||
sin16s::@5 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@5
|
||||
sin16s::@2 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@2
|
||||
sin16s::@8 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@8 sin16s::@2
|
||||
sin16s::@9 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2
|
||||
sin16s::@10 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@10 sin16s::@2
|
||||
sin16s::@11 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@12 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@6 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@6 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@3 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2
|
||||
sin16s::@return dominated by @28 main sin16s @begin sin16s::@return sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2
|
||||
sin16s::@15 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@15 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
mulu16_sel dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mulu16_sel::@2 dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mulu16_sel::@2
|
||||
mulu16_sel::@return dominated by @28 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mulu16_sel::@return mulu16_sel::@2
|
||||
mul16u dominated by @28 main mul16u sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@1 dominated by @28 main mul16u mul16u::@1 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@return dominated by @28 main mul16u mul16u::@1 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mul16u::@return
|
||||
mul16u::@2 dominated by @28 main mul16u mul16u::@1 mul16u::@2 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@7 dominated by @28 main mul16u mul16u::@1 mul16u::@2 sin16s @begin mul16u::@7 sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@4 dominated by @28 main mul16u mul16u::@1 mul16u::@2 sin16s @begin mul16u::@4 sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
div32u16u dominated by @28 main @begin sin16s_gen div32u16u
|
||||
div32u16u::@2 dominated by @28 main div32u16u::@2 @begin sin16s_gen div32u16u
|
||||
div32u16u::@3 dominated by @28 main div32u16u::@2 div32u16u::@3 @begin sin16s_gen div32u16u
|
||||
div32u16u::@return dominated by @28 main div32u16u::@2 div32u16u::@3 @begin sin16s_gen div32u16u div32u16u::@return
|
||||
divr16u dominated by divr16u @28 main @begin sin16s_gen div32u16u
|
||||
divr16u::@1 dominated by divr16u @28 divr16u::@1 main @begin sin16s_gen div32u16u
|
||||
divr16u::@4 dominated by divr16u @28 divr16u::@1 main divr16u::@4 @begin sin16s_gen div32u16u
|
||||
divr16u::@2 dominated by divr16u @28 divr16u::@2 divr16u::@1 main @begin sin16s_gen div32u16u
|
||||
divr16u::@5 dominated by divr16u @28 divr16u::@2 divr16u::@1 main divr16u::@5 @begin sin16s_gen div32u16u
|
||||
divr16u::@3 dominated by divr16u @28 divr16u::@2 divr16u::@1 main divr16u::@3 @begin sin16s_gen div32u16u
|
||||
divr16u::@6 dominated by divr16u @28 divr16u::@2 divr16u::@1 main divr16u::@3 divr16u::@6 @begin sin16s_gen div32u16u
|
||||
divr16u::@return dominated by divr16u @28 divr16u::@2 divr16u::@1 main divr16u::@3 divr16u::@6 @begin sin16s_gen div32u16u divr16u::@return
|
||||
@29 dominated by @29 @begin
|
||||
@end dominated by @end @29 @begin
|
||||
main dominated by @29 main @begin
|
||||
main::@5 dominated by @29 main main::@5 @begin
|
||||
main::@1 dominated by @29 main main::@1 main::@5 @begin
|
||||
main::@3 dominated by @29 main main::@1 main::@5 main::@3 @begin
|
||||
main::@2 dominated by @29 main main::@1 main::@2 main::@5 @begin
|
||||
main::@7 dominated by main::@7 @29 main main::@1 main::@2 main::@5 @begin
|
||||
main::@8 dominated by main::@7 main::@8 @29 main main::@1 main::@2 main::@5 @begin
|
||||
main::@return dominated by main::@7 main::@8 @29 main main::@1 main::@2 main::@5 @begin main::@return
|
||||
print_str dominated by @29 main main::@1 main::@5 @begin print_str
|
||||
print_str::@1 dominated by @29 main main::@1 main::@5 @begin print_str::@1 print_str
|
||||
print_str::@return dominated by @29 main main::@1 main::@5 @begin print_str::@return print_str::@1 print_str
|
||||
print_str::@2 dominated by @29 main main::@1 main::@5 @begin print_str::@1 print_str::@2 print_str
|
||||
print_sword dominated by @29 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@2 dominated by print_sword::@2 @29 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@4 dominated by print_sword::@2 print_sword::@4 @29 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@1 dominated by print_sword::@1 @29 main main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_sword::@return dominated by print_sword::@1 @29 main main::@1 main::@2 main::@5 @begin print_sword::@return print_sword
|
||||
print_word dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_word::@1 dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_word::@1 print_sword
|
||||
print_word::@return dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_word::@return print_word::@1 print_sword
|
||||
print_byte dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_byte print_sword
|
||||
print_byte::@1 dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_byte::@1 print_byte print_sword
|
||||
print_byte::@return dominated by print_sword::@1 @29 main print_word main::@1 main::@2 main::@5 @begin print_byte::@return print_byte::@1 print_byte print_sword
|
||||
print_char dominated by @29 main print_char main::@1 main::@2 main::@5 @begin print_sword
|
||||
print_char::@return dominated by @29 main print_char main::@1 main::@2 main::@5 print_char::@return @begin print_sword
|
||||
print_cls dominated by @29 main main::@5 @begin print_cls
|
||||
print_cls::@1 dominated by @29 main main::@5 @begin print_cls::@1 print_cls
|
||||
print_cls::@return dominated by @29 main main::@5 @begin print_cls::@return print_cls::@1 print_cls
|
||||
sin16s_gen dominated by @29 main @begin sin16s_gen
|
||||
sin16s_gen::@3 dominated by @29 main @begin sin16s_gen sin16s_gen::@3
|
||||
sin16s_gen::@1 dominated by @29 main @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1
|
||||
sin16s_gen::@4 dominated by @29 main @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1
|
||||
sin16s_gen::@return dominated by @29 main sin16s_gen::@return @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1
|
||||
sin16s dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1
|
||||
sin16s::@4 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s::@4
|
||||
sin16s::@1 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1
|
||||
sin16s::@5 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@5
|
||||
sin16s::@2 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@2
|
||||
sin16s::@8 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@8 sin16s::@2
|
||||
sin16s::@9 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2
|
||||
sin16s::@10 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@10 sin16s::@2
|
||||
sin16s::@11 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@12 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@6 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@6 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
sin16s::@3 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2
|
||||
sin16s::@return dominated by @29 main sin16s @begin sin16s::@return sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2
|
||||
sin16s::@15 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@15 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2
|
||||
mulu16_sel dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mulu16_sel::@2 dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mulu16_sel::@2
|
||||
mulu16_sel::@return dominated by @29 main sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mulu16_sel::@return mulu16_sel::@2
|
||||
mul16u dominated by @29 main mul16u sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@1 dominated by @29 main mul16u mul16u::@1 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@return dominated by @29 main mul16u mul16u::@1 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mul16u::@return
|
||||
mul16u::@2 dominated by @29 main mul16u mul16u::@1 mul16u::@2 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@7 dominated by @29 main mul16u mul16u::@1 mul16u::@2 sin16s @begin mul16u::@7 sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
mul16u::@4 dominated by @29 main mul16u mul16u::@1 mul16u::@2 sin16s @begin mul16u::@4 sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2
|
||||
div32u16u dominated by @29 main @begin sin16s_gen div32u16u
|
||||
div32u16u::@2 dominated by @29 main div32u16u::@2 @begin sin16s_gen div32u16u
|
||||
div32u16u::@3 dominated by @29 main div32u16u::@2 div32u16u::@3 @begin sin16s_gen div32u16u
|
||||
div32u16u::@return dominated by @29 main div32u16u::@2 div32u16u::@3 @begin sin16s_gen div32u16u div32u16u::@return
|
||||
divr16u dominated by divr16u @29 main @begin sin16s_gen div32u16u
|
||||
divr16u::@1 dominated by divr16u @29 divr16u::@1 main @begin sin16s_gen div32u16u
|
||||
divr16u::@4 dominated by divr16u @29 divr16u::@1 main divr16u::@4 @begin sin16s_gen div32u16u
|
||||
divr16u::@2 dominated by divr16u @29 divr16u::@2 divr16u::@1 main @begin sin16s_gen div32u16u
|
||||
divr16u::@5 dominated by divr16u @29 divr16u::@2 divr16u::@1 main divr16u::@5 @begin sin16s_gen div32u16u
|
||||
divr16u::@3 dominated by divr16u @29 divr16u::@2 divr16u::@1 main divr16u::@3 @begin sin16s_gen div32u16u
|
||||
divr16u::@6 dominated by divr16u @29 divr16u::@2 divr16u::@1 main divr16u::@3 divr16u::@6 @begin sin16s_gen div32u16u
|
||||
divr16u::@return dominated by divr16u @29 divr16u::@2 divr16u::@1 main divr16u::@3 divr16u::@6 @begin sin16s_gen div32u16u divr16u::@return
|
||||
|
||||
NATURAL LOOPS
|
||||
Found back edge: Loop head: main::@1 tails: main::@8 blocks: null
|
||||
@ -5512,17 +5592,17 @@ INITIAL ASM
|
||||
.label char_cursor = $a
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
b28_from_bbegin:
|
||||
jmp b28
|
||||
//SEG4 @28
|
||||
b28:
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
b29_from_bbegin:
|
||||
jmp b29
|
||||
//SEG4 @29
|
||||
b29:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
main_from_b28:
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
main_from_b29:
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
bend_from_b28:
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
bend_from_b29:
|
||||
jmp bend
|
||||
//SEG8 @end
|
||||
bend:
|
||||
@ -7042,17 +7122,17 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.label char_cursor = 8
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
b28_from_bbegin:
|
||||
jmp b28
|
||||
//SEG4 @28
|
||||
b28:
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
b29_from_bbegin:
|
||||
jmp b29
|
||||
//SEG4 @29
|
||||
b29:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
main_from_b28:
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
main_from_b29:
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
bend_from_b28:
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
bend_from_b29:
|
||||
jmp bend
|
||||
//SEG8 @end
|
||||
bend:
|
||||
@ -8111,7 +8191,7 @@ divr16u: {
|
||||
}
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b28
|
||||
Removing instruction jmp b29
|
||||
Removing instruction jmp bend
|
||||
Removing instruction jmp b5
|
||||
Removing instruction jmp b1
|
||||
@ -8196,9 +8276,9 @@ Replacing label b3_from_b2 with b3
|
||||
Replacing label b3_from_b2 with b3
|
||||
Replacing label b1_from_b3 with b1
|
||||
Removing instruction bbegin:
|
||||
Removing instruction b28_from_bbegin:
|
||||
Removing instruction main_from_b28:
|
||||
Removing instruction bend_from_b28:
|
||||
Removing instruction b29_from_bbegin:
|
||||
Removing instruction main_from_b29:
|
||||
Removing instruction bend_from_b29:
|
||||
Removing instruction b5_from_main:
|
||||
Removing instruction print_cls_from_b5:
|
||||
Removing instruction b1_from_b8:
|
||||
@ -8229,7 +8309,7 @@ Removing instruction b2_from_b4:
|
||||
Removing instruction b3_from_b2:
|
||||
Removing instruction b3_from_b5:
|
||||
Succesful ASM optimization Pass5RedundantLabelElimination
|
||||
Removing instruction b28:
|
||||
Removing instruction b29:
|
||||
Removing instruction bend:
|
||||
Removing instruction sin16s_gen_from_main:
|
||||
Removing instruction b5:
|
||||
@ -8306,7 +8386,7 @@ Removing unreachable instruction jmp b3
|
||||
Succesful ASM optimization Pass5UnreachableCodeElimination
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(dword) PI2_u4f28
|
||||
@ -8596,12 +8676,12 @@ Score: 20907
|
||||
.label rem16u = 4
|
||||
.label char_cursor = 8
|
||||
//SEG2 @begin
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
//SEG4 @28
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
//SEG4 @29
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
//SEG8 @end
|
||||
//SEG9 main
|
||||
main: {
|
||||
|
@ -1,4 +1,4 @@
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(dword) PI2_u4f28
|
||||
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@28
|
||||
@28: scope:[] from @begin
|
||||
to:@29
|
||||
@29: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @28
|
||||
main: scope:[main] from @29
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call sin8s_gen param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@5
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@28
|
||||
@28: scope:[] from @begin
|
||||
to:@29
|
||||
@29: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @28
|
||||
main: scope:[main] from @29
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call sin8s_gen param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@5
|
||||
|
@ -333,6 +333,16 @@ signed word mul8s(signed byte a, signed byte b) {
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Multiply a signed byte and an unsigned byte (into a signed word)
|
||||
// Fixes offsets introduced by using unsigned multiplication
|
||||
signed word mul8su(signed byte a, byte b) {
|
||||
word m = mul8u((byte)a, (byte) b);
|
||||
if(a<0) {
|
||||
>m = (>m)-(byte)b;
|
||||
}
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word
|
||||
dword mul16u(word a, word b) {
|
||||
dword res = 0;
|
||||
@ -722,6 +732,27 @@ mul8s::@return:
|
||||
(signed word) mul8s::return ← (signed word) mul8s::return
|
||||
return (signed word) mul8s::return
|
||||
endproc // mul8s()
|
||||
proc (signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
lval((byte~) mul8su::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
mul8su::@1:
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
goto mul8su::@return
|
||||
mul8su::@return:
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
endproc // mul8su()
|
||||
proc (dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← (word) mul16u::b
|
||||
@ -1329,6 +1360,23 @@ SYMBOLS
|
||||
(signed byte) mul8s::b
|
||||
(word) mul8s::m
|
||||
(signed word) mul8s::return
|
||||
(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0
|
||||
(byte~) mul8su::$1
|
||||
(word~) mul8su::$2
|
||||
(boolean~) mul8su::$3
|
||||
(boolean~) mul8su::$4
|
||||
(byte~) mul8su::$5
|
||||
(byte~) mul8su::$6
|
||||
(byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(signed word~) mul8su::$9
|
||||
(label) mul8su::@1
|
||||
(label) mul8su::@return
|
||||
(signed byte) mul8su::a
|
||||
(byte) mul8su::b
|
||||
(word) mul8su::m
|
||||
(signed word) mul8su::return
|
||||
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||
(boolean~) mul8u::$0
|
||||
(byte~) mul8u::$1
|
||||
@ -1551,6 +1599,7 @@ SYMBOLS
|
||||
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$16 mul8s::$16 ← mul8s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$17 mul8s::$17 ← mul8s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8su::$10 mul8su::$10 ← mul8su::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$16 mul16s::$16 ← mul16s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$17 mul16s::$17 ← mul16s::$14
|
||||
Promoting byte to word in mul8u::mb ← ((word)) mul8u::b
|
||||
@ -1929,6 +1978,35 @@ mul8s::@5: scope:[mul8s] from
|
||||
to:mul8s::@return
|
||||
@9: scope:[] from @8
|
||||
to:@10
|
||||
mul8su: scope:[mul8su] from
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
to:mul8su::@2
|
||||
mul8su::@1: scope:[mul8su] from mul8su mul8su::@2
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
to:mul8su::@return
|
||||
mul8su::@2: scope:[mul8su] from mul8su
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(word) mul8su::m ← (word) mul8su::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10
|
||||
to:mul8su::@1
|
||||
mul8su::@return: scope:[mul8su] from mul8su::@1 mul8su::@3
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
to:@return
|
||||
mul8su::@3: scope:[mul8su] from
|
||||
to:mul8su::@return
|
||||
@10: scope:[] from @9
|
||||
to:@11
|
||||
mul16u: scope:[mul16u] from
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← ((dword)) (word) mul16u::b
|
||||
@ -1968,8 +2046,8 @@ mul16u::@return: scope:[mul16u] from mul16u::@3 mul16u::@9
|
||||
to:@return
|
||||
mul16u::@9: scope:[mul16u] from
|
||||
to:mul16u::@return
|
||||
@10: scope:[] from @9
|
||||
to:@11
|
||||
@11: scope:[] from @10
|
||||
to:@12
|
||||
mul16s: scope:[mul16s] from
|
||||
(word~) mul16s::$0 ← ((word)) (signed word) mul16s::a
|
||||
(word~) mul16s::$1 ← ((word)) (signed word) mul16s::b
|
||||
@ -2010,14 +2088,14 @@ mul16s::@return: scope:[mul16s] from mul16s::@2 mul16s::@5
|
||||
to:@return
|
||||
mul16s::@5: scope:[mul16s] from
|
||||
to:mul16s::@return
|
||||
@11: scope:[] from @10
|
||||
@12: scope:[] from @11
|
||||
(dword) PI2_u4f28 ← (dword/signed dword) 1686629713
|
||||
(dword) PI_u4f28 ← (dword/signed dword) 843314857
|
||||
(dword) PI_HALF_u4f28 ← (dword/signed dword) 421657428
|
||||
(word) PI2_u4f12 ← (word/signed word/dword/signed dword) 25736
|
||||
(word) PI_u4f12 ← (word/signed word/dword/signed dword) 12868
|
||||
(word) PI_HALF_u4f12 ← (word/signed word/dword/signed dword) 6434
|
||||
to:@12
|
||||
to:@13
|
||||
sin16s_gen: scope:[sin16s_gen] from
|
||||
(dword~) sin16s_gen::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_gen::wavelength
|
||||
(dword) sin16s_gen::step ← (dword~) sin16s_gen::$0
|
||||
@ -2040,8 +2118,8 @@ sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1
|
||||
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@2
|
||||
return
|
||||
to:@return
|
||||
@12: scope:[] from @11
|
||||
to:@13
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
sin8s_gen: scope:[sin8s_gen] from
|
||||
(word~) sin8s_gen::$0 ← call div16u (word) PI2_u4f12 (word) sin8s_gen::wavelength
|
||||
(word) sin8s_gen::step ← (word~) sin8s_gen::$0
|
||||
@ -2063,8 +2141,8 @@ sin8s_gen::@2: scope:[sin8s_gen] from sin8s_gen::@1
|
||||
sin8s_gen::@return: scope:[sin8s_gen] from sin8s_gen::@2
|
||||
return
|
||||
to:@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
sin16s: scope:[sin16s] from
|
||||
(byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) sin16s::$0 ← (dword) sin16s::x >= (dword) PI_u4f28
|
||||
@ -2126,8 +2204,8 @@ sin16s::@return: scope:[sin16s] from sin16s::@3 sin16s::@7
|
||||
to:@return
|
||||
sin16s::@7: scope:[sin16s] from
|
||||
to:sin16s::@return
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
sin8s: scope:[sin8s] from
|
||||
(byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) sin8s::$0 ← (word) sin8s::x >= (word) PI_u4f12
|
||||
@ -2197,8 +2275,8 @@ sin8s::@return: scope:[sin8s] from sin8s::@4 sin8s::@9
|
||||
to:@return
|
||||
sin8s::@9: scope:[sin8s] from
|
||||
to:sin8s::@return
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
mulu16_sel: scope:[mulu16_sel] from
|
||||
(dword~) mulu16_sel::$0 ← call mul16u (word) mulu16_sel::v1 (word) mulu16_sel::v2
|
||||
(dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select
|
||||
@ -2211,8 +2289,8 @@ mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel mulu16_sel::@1
|
||||
to:@return
|
||||
mulu16_sel::@1: scope:[mulu16_sel] from
|
||||
to:mulu16_sel::@return
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
@17: scope:[] from @16
|
||||
to:@18
|
||||
mulu8_sel: scope:[mulu8_sel] from
|
||||
(word~) mulu8_sel::$0 ← call mul8u (byte) mulu8_sel::v1 (byte) mulu8_sel::v2
|
||||
(word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select
|
||||
@ -2225,11 +2303,11 @@ mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel mulu8_sel::@1
|
||||
to:@return
|
||||
mulu8_sel::@1: scope:[mulu8_sel] from
|
||||
to:mulu8_sel::@return
|
||||
@17: scope:[] from @16
|
||||
@18: scope:[] from @17
|
||||
(byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor ← (byte*) SCREEN
|
||||
(byte*) char_cursor ← (byte*) line_cursor
|
||||
to:@18
|
||||
to:@19
|
||||
print_str: scope:[print_str] from
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
@ -2252,8 +2330,8 @@ print_str::@6: scope:[print_str] from
|
||||
print_str::@return: scope:[print_str] from print_str::@3
|
||||
return
|
||||
to:@return
|
||||
@18: scope:[] from @17
|
||||
to:@19
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
print_ln: scope:[print_ln] from
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
@ -2268,8 +2346,8 @@ print_ln::@2: scope:[print_ln] from print_ln::@1
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@2
|
||||
return
|
||||
to:@return
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
print_sword: scope:[print_sword] from
|
||||
(boolean~) print_sword::$0 ← (signed word) print_sword::w < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0
|
||||
@ -2287,8 +2365,8 @@ print_sword::@2: scope:[print_sword] from print_sword
|
||||
print_sword::@return: scope:[print_sword] from print_sword::@1
|
||||
return
|
||||
to:@return
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
print_sbyte: scope:[print_sbyte] from
|
||||
(boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sbyte::$1 ← ! (boolean~) print_sbyte::$0
|
||||
@ -2306,8 +2384,8 @@ print_sbyte::@2: scope:[print_sbyte] from print_sbyte
|
||||
print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1
|
||||
return
|
||||
to:@return
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
print_word: scope:[print_word] from
|
||||
(byte~) print_word::$0 ← > (word) print_word::w
|
||||
(void~) print_word::$1 ← call print_byte (byte~) print_word::$0
|
||||
@ -2317,8 +2395,8 @@ print_word: scope:[print_word] from
|
||||
print_word::@return: scope:[print_word] from print_word
|
||||
return
|
||||
to:@return
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
print_dword: scope:[print_dword] from
|
||||
(word~) print_dword::$0 ← > (dword) print_dword::dw
|
||||
(void~) print_dword::$1 ← call print_word (word~) print_dword::$0
|
||||
@ -2328,8 +2406,8 @@ print_dword: scope:[print_dword] from
|
||||
print_dword::@return: scope:[print_dword] from print_dword
|
||||
return
|
||||
to:@return
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
print_sdword: scope:[print_sdword] from
|
||||
(boolean~) print_sdword::$0 ← (signed dword) print_sdword::dw < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) print_sdword::$1 ← ! (boolean~) print_sdword::$0
|
||||
@ -2347,8 +2425,8 @@ print_sdword::@2: scope:[print_sdword] from print_sdword
|
||||
print_sdword::@return: scope:[print_sdword] from print_sdword::@1
|
||||
return
|
||||
to:@return
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
print_byte: scope:[print_byte] from
|
||||
(byte[]) print_byte::hextab ← (string) "0123456789abcdef"
|
||||
(byte~) print_byte::$0 ← (byte) print_byte::b >> (byte/signed byte/word/signed word/dword/signed dword) 4
|
||||
@ -2359,8 +2437,8 @@ print_byte: scope:[print_byte] from
|
||||
print_byte::@return: scope:[print_byte] from print_byte
|
||||
return
|
||||
to:@return
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
@26: scope:[] from @25
|
||||
to:@27
|
||||
print_char: scope:[print_char] from
|
||||
*((byte*) char_cursor) ← (byte) print_char::ch
|
||||
(byte*) char_cursor ← ++ (byte*) char_cursor
|
||||
@ -2368,8 +2446,8 @@ print_char: scope:[print_char] from
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
return
|
||||
to:@return
|
||||
@26: scope:[] from @25
|
||||
to:@27
|
||||
@27: scope:[] from @26
|
||||
to:@28
|
||||
print_cls: scope:[print_cls] from
|
||||
(byte*) print_cls::sc ← (byte*) SCREEN
|
||||
to:print_cls::@1
|
||||
@ -2387,8 +2465,8 @@ print_cls::@2: scope:[print_cls] from print_cls::@1
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
return
|
||||
to:@return
|
||||
@27: scope:[] from @26
|
||||
to:@28
|
||||
@28: scope:[] from @27
|
||||
to:@29
|
||||
main: scope:[main] from
|
||||
(word) main::wavelength ← (byte/word/signed word/dword/signed dword) 192
|
||||
(signed byte[192]) main::sintabb ← { fill( 192, 0) }
|
||||
@ -2427,14 +2505,15 @@ main::@4: scope:[main] from main::@2
|
||||
main::@return: scope:[main] from main::@4
|
||||
return
|
||||
to:@return
|
||||
@28: scope:[] from @27
|
||||
@29: scope:[] from @28
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
|
||||
Removing unused procedure div8s
|
||||
Removing unused procedure div16s
|
||||
Removing unused procedure mul8s
|
||||
Removing unused procedure mul8su
|
||||
Removing unused procedure mul16s
|
||||
Removing unused procedure print_ln
|
||||
Removing unused procedure print_sword
|
||||
@ -2474,27 +2553,27 @@ Removing empty block mul8u::@8
|
||||
Removing empty block mul8u::@9
|
||||
Removing empty block @8
|
||||
Removing empty block @9
|
||||
Removing empty block @10
|
||||
Removing empty block mul16u::@5
|
||||
Removing empty block mul16u::@6
|
||||
Removing empty block mul16u::@8
|
||||
Removing empty block mul16u::@9
|
||||
Removing empty block @10
|
||||
Removing empty block @11
|
||||
Removing empty block sin16s_gen::@2
|
||||
Removing empty block @12
|
||||
Removing empty block sin8s_gen::@2
|
||||
Removing empty block @13
|
||||
Removing empty block sin16s::@7
|
||||
Removing empty block sin8s_gen::@2
|
||||
Removing empty block @14
|
||||
Removing empty block sin8s::@9
|
||||
Removing empty block sin16s::@7
|
||||
Removing empty block @15
|
||||
Removing empty block mulu16_sel::@1
|
||||
Removing empty block sin8s::@9
|
||||
Removing empty block @16
|
||||
Removing empty block mulu16_sel::@1
|
||||
Removing empty block @17
|
||||
Removing empty block mulu8_sel::@1
|
||||
Removing empty block print_str::@4
|
||||
Removing empty block print_str::@3
|
||||
Removing empty block print_str::@5
|
||||
Removing empty block print_str::@6
|
||||
Removing empty block @18
|
||||
Removing empty block @19
|
||||
Removing empty block @20
|
||||
Removing empty block @21
|
||||
@ -2504,6 +2583,7 @@ Removing empty block @24
|
||||
Removing empty block @25
|
||||
Removing empty block @26
|
||||
Removing empty block @27
|
||||
Removing empty block @28
|
||||
Removing empty block main::@4
|
||||
PROCEDURE MODIFY VARIABLE ANALYSIS
|
||||
divr16u modifies rem16u
|
||||
@ -2535,7 +2615,7 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
to:@2
|
||||
@2: scope:[] from @begin
|
||||
(word) rem16u#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
to:@11
|
||||
to:@12
|
||||
divr16u: scope:[divr16u] from div16u div32u16u div32u16u::@2
|
||||
(word) divr16u::divisor#7 ← phi( div16u/(word) divr16u::divisor#0 div32u16u/(word) divr16u::divisor#1 div32u16u::@2/(word) divr16u::divisor#2 )
|
||||
(word) divr16u::dividend#6 ← phi( div16u/(word) divr16u::dividend#1 div32u16u/(word) divr16u::dividend#2 div32u16u::@2/(word) divr16u::dividend#3 )
|
||||
@ -2774,7 +2854,7 @@ mul16u::@return: scope:[mul16u] from mul16u::@3
|
||||
(dword) mul16u::return#1 ← (dword) mul16u::return#3
|
||||
return
|
||||
to:@return
|
||||
@11: scope:[] from @2
|
||||
@12: scope:[] from @2
|
||||
(word) rem16u#43 ← phi( @2/(word) rem16u#0 )
|
||||
(dword) PI2_u4f28#0 ← (dword/signed dword) 1686629713
|
||||
(dword) PI_u4f28#0 ← (dword/signed dword) 843314857
|
||||
@ -2782,7 +2862,7 @@ mul16u::@return: scope:[mul16u] from mul16u::@3
|
||||
(word) PI2_u4f12#0 ← (word/signed word/dword/signed dword) 25736
|
||||
(word) PI_u4f12#0 ← (word/signed word/dword/signed dword) 12868
|
||||
(word) PI_HALF_u4f12#0 ← (word/signed word/dword/signed dword) 6434
|
||||
to:@17
|
||||
to:@18
|
||||
sin16s_gen: scope:[sin16s_gen] from main::@5
|
||||
(signed word*) sin16s_gen::sintab#5 ← phi( main::@5/(signed word*) sin16s_gen::sintab#1 )
|
||||
(word) rem16u#32 ← phi( main::@5/(word) rem16u#12 )
|
||||
@ -3190,12 +3270,12 @@ mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2
|
||||
(byte) mulu8_sel::return#6 ← (byte) mulu8_sel::return#12
|
||||
return
|
||||
to:@return
|
||||
@17: scope:[] from @11
|
||||
(word) rem16u#42 ← phi( @11/(word) rem16u#43 )
|
||||
@18: scope:[] from @12
|
||||
(word) rem16u#42 ← phi( @12/(word) rem16u#43 )
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@28
|
||||
to:@29
|
||||
print_str: scope:[print_str] from main::@3 main::@8
|
||||
(byte*) char_cursor#44 ← phi( main::@3/(byte*) char_cursor#42 main::@8/(byte*) char_cursor#14 )
|
||||
(byte*) print_str::str#5 ← phi( main::@3/(byte*) print_str::str#2 main::@8/(byte*) print_str::str#1 )
|
||||
@ -3312,10 +3392,10 @@ print_cls::@return: scope:[print_cls] from print_cls::@2
|
||||
(byte*) char_cursor#12 ← (byte*) char_cursor#29
|
||||
return
|
||||
to:@return
|
||||
main: scope:[main] from @28
|
||||
(byte*) char_cursor#48 ← phi( @28/(byte*) char_cursor#43 )
|
||||
(byte*) line_cursor#15 ← phi( @28/(byte*) line_cursor#12 )
|
||||
(word) rem16u#36 ← phi( @28/(word) rem16u#38 )
|
||||
main: scope:[main] from @29
|
||||
(byte*) char_cursor#48 ← phi( @29/(byte*) char_cursor#43 )
|
||||
(byte*) line_cursor#15 ← phi( @29/(byte*) line_cursor#12 )
|
||||
(word) rem16u#36 ← phi( @29/(word) rem16u#38 )
|
||||
(word) main::wavelength#0 ← (byte/word/signed word/dword/signed dword) 192
|
||||
(signed byte[192]) main::sintabb#0 ← { fill( 192, 0) }
|
||||
(signed byte*) sin8s_gen::sintab#1 ← (signed byte[192]) main::sintabb#0
|
||||
@ -3420,28 +3500,28 @@ main::@return: scope:[main] from main::@9
|
||||
(byte*) char_cursor#17 ← (byte*) char_cursor#34
|
||||
return
|
||||
to:@return
|
||||
@28: scope:[] from @17
|
||||
(byte*) char_cursor#43 ← phi( @17/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#12 ← phi( @17/(byte*) line_cursor#0 )
|
||||
(word) rem16u#38 ← phi( @17/(word) rem16u#42 )
|
||||
@29: scope:[] from @18
|
||||
(byte*) char_cursor#43 ← phi( @18/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#12 ← phi( @18/(byte*) line_cursor#0 )
|
||||
(word) rem16u#38 ← phi( @18/(word) rem16u#42 )
|
||||
call main param-assignment
|
||||
to:@29
|
||||
@29: scope:[] from @28
|
||||
(byte*) char_cursor#35 ← phi( @28/(byte*) char_cursor#17 )
|
||||
(byte*) line_cursor#9 ← phi( @28/(byte*) line_cursor#4 )
|
||||
(word) rem16u#29 ← phi( @28/(word) rem16u#14 )
|
||||
to:@30
|
||||
@30: scope:[] from @29
|
||||
(byte*) char_cursor#35 ← phi( @29/(byte*) char_cursor#17 )
|
||||
(byte*) line_cursor#9 ← phi( @29/(byte*) line_cursor#4 )
|
||||
(word) rem16u#29 ← phi( @29/(word) rem16u#14 )
|
||||
(word) rem16u#15 ← (word) rem16u#29
|
||||
(byte*) line_cursor#5 ← (byte*) line_cursor#9
|
||||
(byte*) char_cursor#18 ← (byte*) char_cursor#35
|
||||
to:@end
|
||||
@end: scope:[] from @29
|
||||
@end: scope:[] from @30
|
||||
|
||||
SYMBOL TABLE SSA
|
||||
(label) @11
|
||||
(label) @17
|
||||
(label) @12
|
||||
(label) @18
|
||||
(label) @2
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @30
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
@ -5019,14 +5099,14 @@ Succesful SSA optimization Pass2NopCastElimination
|
||||
Culled Empty Block (label) @2
|
||||
Culled Empty Block (label) mul8u::@3
|
||||
Culled Empty Block (label) mul16u::@3
|
||||
Culled Empty Block (label) @11
|
||||
Culled Empty Block (label) @17
|
||||
Culled Empty Block (label) @12
|
||||
Culled Empty Block (label) @18
|
||||
Culled Empty Block (label) print_sbyte::@3
|
||||
Culled Empty Block (label) print_byte::@2
|
||||
Culled Empty Block (label) print_cls::@2
|
||||
Culled Empty Block (label) main::@7
|
||||
Culled Empty Block (label) main::@10
|
||||
Culled Empty Block (label) @29
|
||||
Culled Empty Block (label) @30
|
||||
Succesful SSA optimization Pass2CullEmptyBlocks
|
||||
Not aliassing across scopes: rem16u#1 divr16u::rem#10
|
||||
Not aliassing across scopes: divr16u::return#2 divr16u::return#0
|
||||
@ -5436,7 +5516,7 @@ Constant inlined print_str::str#1 = (const string) main::str
|
||||
Constant inlined print_byte::$4 = (const string) print_byte::hextab#0
|
||||
Constant inlined sin8s_gen::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Succesful SSA optimization Pass2ConstantInlining
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 div16u div16u::@2 div16u::@return
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 div16u div16u::@2 div16u::@return
|
||||
Added new block during phi lifting main::@11(between main::@9 and main::@1)
|
||||
Added new block during phi lifting main::@12(between main::@1 and main::@2)
|
||||
Added new block during phi lifting print_sbyte::@5(between print_sbyte and print_sbyte::@1)
|
||||
@ -5457,9 +5537,9 @@ Added new block during phi lifting sin8s::@16(between sin8s::@1 and sin8s::@2)
|
||||
Added new block during phi lifting sin8s::@17(between sin8s::@14 and sin8s::@3)
|
||||
Added new block during phi lifting sin8s::@18(between sin8s::@3 and sin8s::@4)
|
||||
Added new block during phi lifting mul8u::@10(between mul8u::@2 and mul8u::@4)
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return main::@11 main::@12 print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_sbyte::@5 print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return print_cls::@3 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s_gen::@5 sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 sin16s::@14 sin16s::@13 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9 sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s_gen::@5 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 sin8s::@17 sin8s::@16 sin8s::@15 mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 div16u div16u::@2 div16u::@return
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return main::@11 main::@12 print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_sbyte::@5 print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return print_cls::@3 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s_gen::@5 sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 sin16s::@14 sin16s::@13 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9 sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s_gen::@5 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 sin8s::@17 sin8s::@16 sin8s::@15 mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 div16u div16u::@2 div16u::@return
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @28
|
||||
Adding NOP phi() at start of @29
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main
|
||||
Adding NOP phi() at start of main::@5
|
||||
@ -5628,9 +5708,9 @@ Culled Empty Block (label) sin8s::@17
|
||||
Culled Empty Block (label) sin8s::@16
|
||||
Culled Empty Block (label) sin8s::@15
|
||||
Culled Empty Block (label) mul8u::@10
|
||||
Block Sequence Planned @begin @28 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 div16u div16u::@2 div16u::@return
|
||||
Block Sequence Planned @begin @29 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin8s_gen sin8s_gen::@3 sin8s_gen::@1 sin8s_gen::@4 sin8s_gen::@return sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 mulu8_sel mulu8_sel::@2 mulu8_sel::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 div16u div16u::@2 div16u::@return
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @28
|
||||
Adding NOP phi() at start of @29
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main
|
||||
Adding NOP phi() at start of main::@5
|
||||
@ -5682,14 +5762,14 @@ Propagating live ranges...
|
||||
FINAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@28
|
||||
@28: scope:[] from @begin
|
||||
to:@29
|
||||
@29: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @28
|
||||
@end: scope:[] from @29
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @28
|
||||
main: scope:[main] from @29
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call sin8s_gen param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@5
|
||||
@ -6155,107 +6235,107 @@ div16u::@return: scope:[div16u] from div16u::@2
|
||||
|
||||
DOMINATORS
|
||||
@begin dominated by @begin
|
||||
@28 dominated by @28 @begin
|
||||
@end dominated by @end @28 @begin
|
||||
main dominated by @28 main @begin
|
||||
main::@5 dominated by main::@5 @28 main @begin
|
||||
main::@6 dominated by main::@5 main::@6 @28 main @begin
|
||||
main::@1 dominated by main::@1 main::@5 main::@6 @28 main @begin
|
||||
main::@3 dominated by main::@1 main::@5 main::@6 main::@3 @28 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 main::@5 main::@6 @28 main @begin
|
||||
main::@8 dominated by main::@8 main::@1 main::@2 main::@5 main::@6 @28 main @begin
|
||||
main::@9 dominated by main::@9 main::@8 main::@1 main::@2 main::@5 main::@6 @28 main @begin
|
||||
main::@return dominated by main::@9 main::@8 main::@1 main::@2 main::@5 main::@6 main::@return @28 main @begin
|
||||
print_str dominated by main::@1 main::@5 main::@6 print_str @28 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@5 main::@6 print_str::@1 print_str @28 main @begin
|
||||
print_str::@return dominated by main::@1 main::@5 main::@6 print_str::@return print_str::@1 print_str @28 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@5 main::@6 print_str::@1 print_str::@2 print_str @28 main @begin
|
||||
print_sbyte dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main @begin
|
||||
print_sbyte::@2 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_sbyte::@2 @begin
|
||||
print_sbyte::@4 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_sbyte::@4 print_sbyte::@2 @begin
|
||||
print_sbyte::@1 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_sbyte::@1 @begin
|
||||
print_sbyte::@return dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_sbyte::@1 @begin print_sbyte::@return
|
||||
print_byte dominated by main::@1 main::@2 main::@5 main::@6 print_byte print_sbyte @28 main print_sbyte::@1 @begin
|
||||
print_byte::@1 dominated by main::@1 main::@2 main::@5 main::@6 print_byte::@1 print_byte print_sbyte @28 main print_sbyte::@1 @begin
|
||||
print_byte::@return dominated by main::@1 main::@2 main::@5 main::@6 print_byte::@1 print_byte print_sbyte @28 main print_sbyte::@1 @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @28 main print_char print_char::@return @begin
|
||||
print_cls dominated by main::@5 main::@6 print_cls @28 main @begin
|
||||
print_cls::@1 dominated by main::@5 main::@6 print_cls @28 main @begin print_cls::@1
|
||||
print_cls::@return dominated by main::@5 main::@6 print_cls @28 main @begin print_cls::@return print_cls::@1
|
||||
sin16s_gen dominated by main::@5 sin16s_gen @28 main @begin
|
||||
sin16s_gen::@3 dominated by main::@5 sin16s_gen sin16s_gen::@3 @28 main @begin
|
||||
sin16s_gen::@1 dominated by main::@5 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 @28 main @begin
|
||||
sin16s_gen::@4 dominated by main::@5 sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 @28 main @begin
|
||||
sin16s_gen::@return dominated by main::@5 sin16s_gen::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 @28 main @begin
|
||||
sin16s dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s_gen::@1 @28 main @begin
|
||||
sin16s::@4 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s::@4 @28 main @begin
|
||||
sin16s::@1 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 @28 main @begin
|
||||
sin16s::@5 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@5 @28 main @begin
|
||||
sin16s::@2 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@2 @28 main @begin
|
||||
sin16s::@8 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@8 sin16s::@2 @28 main @begin
|
||||
sin16s::@9 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @28 main @begin
|
||||
sin16s::@10 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @28 main @begin sin16s::@10
|
||||
sin16s::@11 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @28 main @begin sin16s::@11 sin16s::@10
|
||||
sin16s::@12 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @28 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@6 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@6 sin16s::@2 @28 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@3 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@3 sin16s::@2 @28 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@return dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@3 sin16s::@2 @28 main @begin sin16s::@return sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@15 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @28 main @begin sin16s::@15 sin16s::@12 sin16s::@11 sin16s::@10
|
||||
mulu16_sel dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main @begin
|
||||
mulu16_sel::@2 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main @begin mulu16_sel::@2
|
||||
mulu16_sel::@return dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main @begin mulu16_sel::@return mulu16_sel::@2
|
||||
mul16u dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main @begin
|
||||
mul16u::@1 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main mul16u::@1 @begin
|
||||
mul16u::@return dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mul16u::@return @28 main mul16u::@1 @begin
|
||||
mul16u::@2 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main mul16u::@1 mul16u::@2 @begin
|
||||
mul16u::@7 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main mul16u::@1 mul16u::@2 @begin mul16u::@7
|
||||
mul16u::@4 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @28 main mul16u::@1 mul16u::@2 @begin mul16u::@4
|
||||
div32u16u dominated by main::@5 sin16s_gen div32u16u @28 main @begin
|
||||
div32u16u::@2 dominated by main::@5 sin16s_gen div32u16u @28 main div32u16u::@2 @begin
|
||||
div32u16u::@3 dominated by main::@5 sin16s_gen div32u16u @28 main div32u16u::@2 div32u16u::@3 @begin
|
||||
div32u16u::@return dominated by main::@5 sin16s_gen div32u16u div32u16u::@return @28 main div32u16u::@2 div32u16u::@3 @begin
|
||||
divr16u dominated by divr16u @28 main @begin
|
||||
divr16u::@1 dominated by divr16u::@1 divr16u @28 main @begin
|
||||
divr16u::@4 dominated by divr16u::@1 divr16u::@4 divr16u @28 main @begin
|
||||
divr16u::@2 dominated by divr16u::@2 divr16u::@1 divr16u @28 main @begin
|
||||
divr16u::@5 dominated by divr16u::@2 divr16u::@1 divr16u::@5 divr16u @28 main @begin
|
||||
divr16u::@3 dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u @28 main @begin
|
||||
divr16u::@6 dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u::@6 divr16u @28 main @begin
|
||||
divr16u::@return dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u::@6 divr16u::@return divr16u @28 main @begin
|
||||
sin8s_gen dominated by sin8s_gen @28 main @begin
|
||||
sin8s_gen::@3 dominated by sin8s_gen @28 main @begin sin8s_gen::@3
|
||||
sin8s_gen::@1 dominated by sin8s_gen @28 main @begin sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s_gen::@4 dominated by sin8s_gen @28 main @begin sin8s_gen::@1 sin8s_gen::@3 sin8s_gen::@4
|
||||
sin8s_gen::@return dominated by sin8s_gen sin8s_gen::@return @28 main @begin sin8s_gen::@1 sin8s_gen::@3 sin8s_gen::@4
|
||||
sin8s dominated by sin8s_gen @28 main sin8s @begin sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@5 dominated by sin8s_gen @28 main sin8s @begin sin8s::@5 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@1 dominated by sin8s_gen @28 main sin8s @begin sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@6 dominated by sin8s_gen @28 main sin8s @begin sin8s::@1 sin8s::@6 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@2 dominated by sin8s_gen @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@10 dominated by sin8s_gen sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@11 dominated by sin8s_gen sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@12 dominated by sin8s_gen sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@13 dominated by sin8s_gen sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@14 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@7 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@7 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@3 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@8 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s::@8 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@4 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@4 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@return dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 sin8s::@return @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@4 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@18 dominated by sin8s_gen sin8s::@18 sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel dominated by sin8s_gen mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel::@2 dominated by mulu8_sel::@2 sin8s_gen mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel::@return dominated by mulu8_sel::@2 sin8s_gen mulu8_sel::@return mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mul8u dominated by sin8s_gen mul8u mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mul8u::@1 dominated by sin8s_gen mul8u mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@1
|
||||
mul8u::@return dominated by sin8s_gen mul8u mulu8_sel mul8u::@return @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@1
|
||||
mul8u::@2 dominated by sin8s_gen mul8u mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@2 mul8u::@1
|
||||
mul8u::@7 dominated by sin8s_gen mul8u mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@7 mul8u::@2 mul8u::@1
|
||||
mul8u::@4 dominated by sin8s_gen mul8u mulu8_sel @28 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@2 mul8u::@1 mul8u::@4
|
||||
div16u dominated by div16u sin8s_gen @28 main @begin
|
||||
div16u::@2 dominated by div16u sin8s_gen div16u::@2 @28 main @begin
|
||||
div16u::@return dominated by div16u::@return div16u sin8s_gen div16u::@2 @28 main @begin
|
||||
@29 dominated by @29 @begin
|
||||
@end dominated by @end @29 @begin
|
||||
main dominated by @29 main @begin
|
||||
main::@5 dominated by main::@5 @29 main @begin
|
||||
main::@6 dominated by main::@5 main::@6 @29 main @begin
|
||||
main::@1 dominated by main::@1 main::@5 main::@6 @29 main @begin
|
||||
main::@3 dominated by main::@1 main::@5 main::@6 main::@3 @29 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 main::@5 main::@6 @29 main @begin
|
||||
main::@8 dominated by main::@8 main::@1 main::@2 main::@5 main::@6 @29 main @begin
|
||||
main::@9 dominated by main::@9 main::@8 main::@1 main::@2 main::@5 main::@6 @29 main @begin
|
||||
main::@return dominated by main::@9 main::@8 main::@1 main::@2 main::@5 main::@6 main::@return @29 main @begin
|
||||
print_str dominated by main::@1 main::@5 main::@6 print_str @29 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@5 main::@6 print_str::@1 print_str @29 main @begin
|
||||
print_str::@return dominated by main::@1 main::@5 main::@6 print_str::@return print_str::@1 print_str @29 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@5 main::@6 print_str::@1 print_str::@2 print_str @29 main @begin
|
||||
print_sbyte dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main @begin
|
||||
print_sbyte::@2 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_sbyte::@2 @begin
|
||||
print_sbyte::@4 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_sbyte::@4 print_sbyte::@2 @begin
|
||||
print_sbyte::@1 dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_sbyte::@1 @begin
|
||||
print_sbyte::@return dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_sbyte::@1 @begin print_sbyte::@return
|
||||
print_byte dominated by main::@1 main::@2 main::@5 main::@6 print_byte print_sbyte @29 main print_sbyte::@1 @begin
|
||||
print_byte::@1 dominated by main::@1 main::@2 main::@5 main::@6 print_byte::@1 print_byte print_sbyte @29 main print_sbyte::@1 @begin
|
||||
print_byte::@return dominated by main::@1 main::@2 main::@5 main::@6 print_byte::@1 print_byte print_sbyte @29 main print_sbyte::@1 @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 main::@5 main::@6 print_sbyte @29 main print_char print_char::@return @begin
|
||||
print_cls dominated by main::@5 main::@6 print_cls @29 main @begin
|
||||
print_cls::@1 dominated by main::@5 main::@6 print_cls @29 main @begin print_cls::@1
|
||||
print_cls::@return dominated by main::@5 main::@6 print_cls @29 main @begin print_cls::@return print_cls::@1
|
||||
sin16s_gen dominated by main::@5 sin16s_gen @29 main @begin
|
||||
sin16s_gen::@3 dominated by main::@5 sin16s_gen sin16s_gen::@3 @29 main @begin
|
||||
sin16s_gen::@1 dominated by main::@5 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 @29 main @begin
|
||||
sin16s_gen::@4 dominated by main::@5 sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 @29 main @begin
|
||||
sin16s_gen::@return dominated by main::@5 sin16s_gen::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 @29 main @begin
|
||||
sin16s dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s_gen::@1 @29 main @begin
|
||||
sin16s::@4 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s::@4 @29 main @begin
|
||||
sin16s::@1 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 @29 main @begin
|
||||
sin16s::@5 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@5 @29 main @begin
|
||||
sin16s::@2 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@2 @29 main @begin
|
||||
sin16s::@8 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@8 sin16s::@2 @29 main @begin
|
||||
sin16s::@9 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @29 main @begin
|
||||
sin16s::@10 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @29 main @begin sin16s::@10
|
||||
sin16s::@11 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @29 main @begin sin16s::@11 sin16s::@10
|
||||
sin16s::@12 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @29 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@6 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@6 sin16s::@2 @29 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@3 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@3 sin16s::@2 @29 main @begin sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@return dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@3 sin16s::@2 @29 main @begin sin16s::@return sin16s::@12 sin16s::@11 sin16s::@10
|
||||
sin16s::@15 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 @29 main @begin sin16s::@15 sin16s::@12 sin16s::@11 sin16s::@10
|
||||
mulu16_sel dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main @begin
|
||||
mulu16_sel::@2 dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main @begin mulu16_sel::@2
|
||||
mulu16_sel::@return dominated by main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main @begin mulu16_sel::@return mulu16_sel::@2
|
||||
mul16u dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main @begin
|
||||
mul16u::@1 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main mul16u::@1 @begin
|
||||
mul16u::@return dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 mul16u::@return @29 main mul16u::@1 @begin
|
||||
mul16u::@2 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main mul16u::@1 mul16u::@2 @begin
|
||||
mul16u::@7 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main mul16u::@1 mul16u::@2 @begin mul16u::@7
|
||||
mul16u::@4 dominated by mul16u main::@5 sin16s sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 mulu16_sel sin16s::@2 @29 main mul16u::@1 mul16u::@2 @begin mul16u::@4
|
||||
div32u16u dominated by main::@5 sin16s_gen div32u16u @29 main @begin
|
||||
div32u16u::@2 dominated by main::@5 sin16s_gen div32u16u @29 main div32u16u::@2 @begin
|
||||
div32u16u::@3 dominated by main::@5 sin16s_gen div32u16u @29 main div32u16u::@2 div32u16u::@3 @begin
|
||||
div32u16u::@return dominated by main::@5 sin16s_gen div32u16u div32u16u::@return @29 main div32u16u::@2 div32u16u::@3 @begin
|
||||
divr16u dominated by divr16u @29 main @begin
|
||||
divr16u::@1 dominated by divr16u::@1 divr16u @29 main @begin
|
||||
divr16u::@4 dominated by divr16u::@1 divr16u::@4 divr16u @29 main @begin
|
||||
divr16u::@2 dominated by divr16u::@2 divr16u::@1 divr16u @29 main @begin
|
||||
divr16u::@5 dominated by divr16u::@2 divr16u::@1 divr16u::@5 divr16u @29 main @begin
|
||||
divr16u::@3 dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u @29 main @begin
|
||||
divr16u::@6 dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u::@6 divr16u @29 main @begin
|
||||
divr16u::@return dominated by divr16u::@2 divr16u::@1 divr16u::@3 divr16u::@6 divr16u::@return divr16u @29 main @begin
|
||||
sin8s_gen dominated by sin8s_gen @29 main @begin
|
||||
sin8s_gen::@3 dominated by sin8s_gen @29 main @begin sin8s_gen::@3
|
||||
sin8s_gen::@1 dominated by sin8s_gen @29 main @begin sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s_gen::@4 dominated by sin8s_gen @29 main @begin sin8s_gen::@1 sin8s_gen::@3 sin8s_gen::@4
|
||||
sin8s_gen::@return dominated by sin8s_gen sin8s_gen::@return @29 main @begin sin8s_gen::@1 sin8s_gen::@3 sin8s_gen::@4
|
||||
sin8s dominated by sin8s_gen @29 main sin8s @begin sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@5 dominated by sin8s_gen @29 main sin8s @begin sin8s::@5 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@1 dominated by sin8s_gen @29 main sin8s @begin sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@6 dominated by sin8s_gen @29 main sin8s @begin sin8s::@1 sin8s::@6 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@2 dominated by sin8s_gen @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@10 dominated by sin8s_gen sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@11 dominated by sin8s_gen sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@12 dominated by sin8s_gen sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@13 dominated by sin8s_gen sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@14 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@7 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@7 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@3 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@8 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s::@8 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@4 dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@4 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@return dominated by sin8s_gen sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 sin8s::@return @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@4 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
sin8s::@18 dominated by sin8s_gen sin8s::@18 sin8s::@14 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s::@3 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel dominated by sin8s_gen mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel::@2 dominated by mulu8_sel::@2 sin8s_gen mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mulu8_sel::@return dominated by mulu8_sel::@2 sin8s_gen mulu8_sel::@return mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mul8u dominated by sin8s_gen mul8u mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3
|
||||
mul8u::@1 dominated by sin8s_gen mul8u mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@1
|
||||
mul8u::@return dominated by sin8s_gen mul8u mulu8_sel mul8u::@return @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@1
|
||||
mul8u::@2 dominated by sin8s_gen mul8u mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@2 mul8u::@1
|
||||
mul8u::@7 dominated by sin8s_gen mul8u mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@7 mul8u::@2 mul8u::@1
|
||||
mul8u::@4 dominated by sin8s_gen mul8u mulu8_sel @29 main sin8s @begin sin8s::@2 sin8s::@1 sin8s_gen::@1 sin8s_gen::@3 mul8u::@2 mul8u::@1 mul8u::@4
|
||||
div16u dominated by div16u sin8s_gen @29 main @begin
|
||||
div16u::@2 dominated by div16u sin8s_gen div16u::@2 @29 main @begin
|
||||
div16u::@return dominated by div16u::@return div16u sin8s_gen div16u::@2 @29 main @begin
|
||||
|
||||
NATURAL LOOPS
|
||||
Found back edge: Loop head: main::@1 tails: main::@9 blocks: null
|
||||
@ -6944,17 +7024,17 @@ INITIAL ASM
|
||||
.label char_cursor = 7
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
b28_from_bbegin:
|
||||
jmp b28
|
||||
//SEG4 @28
|
||||
b28:
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
b29_from_bbegin:
|
||||
jmp b29
|
||||
//SEG4 @29
|
||||
b29:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
main_from_b28:
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
main_from_b29:
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
bend_from_b28:
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
bend_from_b29:
|
||||
jmp bend
|
||||
//SEG8 @end
|
||||
bend:
|
||||
@ -9204,17 +9284,17 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.label char_cursor = 5
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
b28_from_bbegin:
|
||||
jmp b28
|
||||
//SEG4 @28
|
||||
b28:
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
b29_from_bbegin:
|
||||
jmp b29
|
||||
//SEG4 @29
|
||||
b29:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
main_from_b28:
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
main_from_b29:
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
bend_from_b28:
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
bend_from_b29:
|
||||
jmp bend
|
||||
//SEG8 @end
|
||||
bend:
|
||||
@ -10737,7 +10817,7 @@ div16u: {
|
||||
}
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b28
|
||||
Removing instruction jmp b29
|
||||
Removing instruction jmp bend
|
||||
Removing instruction jmp b5
|
||||
Removing instruction jmp b6
|
||||
@ -10860,9 +10940,9 @@ Replacing label b3_from_b14 with b3
|
||||
Replacing label b4_from_b18 with b4
|
||||
Replacing label b4_from_b2 with b4
|
||||
Removing instruction bbegin:
|
||||
Removing instruction b28_from_bbegin:
|
||||
Removing instruction main_from_b28:
|
||||
Removing instruction bend_from_b28:
|
||||
Removing instruction b29_from_bbegin:
|
||||
Removing instruction main_from_b29:
|
||||
Removing instruction bend_from_b29:
|
||||
Removing instruction b5_from_main:
|
||||
Removing instruction sin16s_gen_from_b5:
|
||||
Removing instruction b6_from_b5:
|
||||
@ -10905,7 +10985,7 @@ Removing instruction breturn:
|
||||
Removing instruction b4_from_b2:
|
||||
Removing instruction b4_from_b7:
|
||||
Succesful ASM optimization Pass5RedundantLabelElimination
|
||||
Removing instruction b28:
|
||||
Removing instruction b29:
|
||||
Removing instruction bend:
|
||||
Removing instruction sin8s_gen_from_main:
|
||||
Removing instruction b5:
|
||||
@ -11011,7 +11091,7 @@ Removing unreachable instruction jmp b3
|
||||
Succesful ASM optimization Pass5UnreachableCodeElimination
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
@ -11467,12 +11547,12 @@ Score: 28398
|
||||
.label rem16u = 5
|
||||
.label char_cursor = 5
|
||||
//SEG2 @begin
|
||||
//SEG3 [1] phi from @begin to @28 [phi:@begin->@28]
|
||||
//SEG4 @28
|
||||
//SEG3 [1] phi from @begin to @29 [phi:@begin->@29]
|
||||
//SEG4 @29
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
//SEG6 [4] phi from @28 to main [phi:@28->main]
|
||||
//SEG6 [4] phi from @29 to main [phi:@29->main]
|
||||
jsr main
|
||||
//SEG7 [3] phi from @28 to @end [phi:@28->@end]
|
||||
//SEG7 [3] phi from @29 to @end [phi:@29->@end]
|
||||
//SEG8 @end
|
||||
//SEG9 main
|
||||
main: {
|
||||
|
@ -1,4 +1,4 @@
|
||||
(label) @28
|
||||
(label) @29
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
|
489
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm
Normal file
489
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm
Normal file
@ -0,0 +1,489 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.const PI2_u4f12 = $6488
|
||||
.const PI_u4f12 = $3244
|
||||
.const PI_HALF_u4f12 = $1922
|
||||
.label SCREEN = $400
|
||||
.label char_cursor = $b
|
||||
.label line_cursor = 8
|
||||
jsr main
|
||||
main: {
|
||||
.label tabsize = $14
|
||||
jsr print_cls
|
||||
jsr sin8u_table
|
||||
rts
|
||||
sintab: .fill $14, 0
|
||||
}
|
||||
sin8u_table: {
|
||||
.const min = $a
|
||||
.const max = $ff
|
||||
.label amplitude = max-min
|
||||
.const sum = min+max
|
||||
.const mid = $ff & sum>>1
|
||||
.label _17 = $b
|
||||
.label step = $10
|
||||
.label sintab = 4
|
||||
.label x = 2
|
||||
.label i = 6
|
||||
jsr div16u
|
||||
lda #<SCREEN
|
||||
sta char_cursor
|
||||
lda #>SCREEN
|
||||
sta char_cursor+1
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
lda #>str
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda step
|
||||
sta print_word.w
|
||||
lda step+1
|
||||
sta print_word.w+1
|
||||
jsr print_word
|
||||
lda #<str1
|
||||
sta print_str.str
|
||||
lda #>str1
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #min
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #max
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda #<str3
|
||||
sta print_str.str
|
||||
lda #>str3
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #amplitude
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda #<str4
|
||||
sta print_str.str
|
||||
lda #>str4
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
lda #mid
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda #<SCREEN
|
||||
sta line_cursor
|
||||
lda #>SCREEN
|
||||
sta line_cursor+1
|
||||
jsr print_ln
|
||||
lda #<0
|
||||
sta i
|
||||
sta i+1
|
||||
lda #<main.sintab
|
||||
sta sintab
|
||||
lda #>main.sintab
|
||||
sta sintab+1
|
||||
lda #<0
|
||||
sta x
|
||||
sta x+1
|
||||
b1:
|
||||
lda x
|
||||
sta sin8s.x
|
||||
lda x+1
|
||||
sta sin8s.x+1
|
||||
jsr sin8s
|
||||
tay
|
||||
jsr mul8su
|
||||
lda _17+1
|
||||
clc
|
||||
adc #mid
|
||||
tax
|
||||
txa
|
||||
ldy #0
|
||||
sta (sintab),y
|
||||
inc sintab
|
||||
bne !+
|
||||
inc sintab+1
|
||||
!:
|
||||
lda line_cursor
|
||||
sta char_cursor
|
||||
lda line_cursor+1
|
||||
sta char_cursor+1
|
||||
lda #<str5
|
||||
sta print_str.str
|
||||
lda #>str5
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
jsr print_word
|
||||
lda #<str6
|
||||
sta print_str.str
|
||||
lda #>str6
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
stx print_byte.b
|
||||
jsr print_byte
|
||||
jsr print_ln
|
||||
lda x
|
||||
clc
|
||||
adc step
|
||||
sta x
|
||||
lda x+1
|
||||
adc step+1
|
||||
sta x+1
|
||||
inc i
|
||||
bne !+
|
||||
inc i+1
|
||||
!:
|
||||
lda i+1
|
||||
cmp #>main.tabsize
|
||||
bcc b1
|
||||
bne !+
|
||||
lda i
|
||||
cmp #<main.tabsize
|
||||
bcc b1
|
||||
!:
|
||||
rts
|
||||
str: .text "step:@"
|
||||
str1: .text " min:@"
|
||||
str2: .text " max:@"
|
||||
str3: .text " ampl:@"
|
||||
str4: .text " mid:@"
|
||||
str5: .text "x: @"
|
||||
str6: .text " sin: @"
|
||||
}
|
||||
print_ln: {
|
||||
b1:
|
||||
lda line_cursor
|
||||
clc
|
||||
adc #$28
|
||||
sta line_cursor
|
||||
bcc !+
|
||||
inc line_cursor+1
|
||||
!:
|
||||
lda line_cursor+1
|
||||
cmp char_cursor+1
|
||||
bcc b1
|
||||
bne !+
|
||||
lda line_cursor
|
||||
cmp char_cursor
|
||||
bcc b1
|
||||
!:
|
||||
rts
|
||||
}
|
||||
print_byte: {
|
||||
.label b = $a
|
||||
lda b
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tay
|
||||
lda hextab,y
|
||||
jsr print_char
|
||||
lda #$f
|
||||
and b
|
||||
tay
|
||||
lda hextab,y
|
||||
jsr print_char
|
||||
rts
|
||||
hextab: .text "0123456789abcdef"
|
||||
}
|
||||
print_char: {
|
||||
ldy #0
|
||||
sta (char_cursor),y
|
||||
inc char_cursor
|
||||
bne !+
|
||||
inc char_cursor+1
|
||||
!:
|
||||
rts
|
||||
}
|
||||
print_str: {
|
||||
.label str = $d
|
||||
b1:
|
||||
ldy #0
|
||||
lda (str),y
|
||||
cmp #'@'
|
||||
bne b2
|
||||
rts
|
||||
b2:
|
||||
ldy #0
|
||||
lda (str),y
|
||||
sta (char_cursor),y
|
||||
inc char_cursor
|
||||
bne !+
|
||||
inc char_cursor+1
|
||||
!:
|
||||
inc str
|
||||
bne !+
|
||||
inc str+1
|
||||
!:
|
||||
jmp b1
|
||||
}
|
||||
print_word: {
|
||||
.label w = 2
|
||||
lda w+1
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
lda w
|
||||
sta print_byte.b
|
||||
jsr print_byte
|
||||
rts
|
||||
}
|
||||
mul8su: {
|
||||
.label m = $b
|
||||
.label return = $b
|
||||
tya
|
||||
tax
|
||||
lda #sin8u_table.amplitude
|
||||
jsr mul8u
|
||||
cpy #0
|
||||
bpl b1
|
||||
lda m+1
|
||||
sec
|
||||
sbc #sin8u_table.amplitude
|
||||
sta m+1
|
||||
b1:
|
||||
rts
|
||||
}
|
||||
mul8u: {
|
||||
.label mb = $d
|
||||
.label res = $b
|
||||
.label return = $b
|
||||
sta mb
|
||||
lda #0
|
||||
sta mb+1
|
||||
sta res
|
||||
sta res+1
|
||||
b1:
|
||||
cpx #0
|
||||
bne b2
|
||||
rts
|
||||
b2:
|
||||
txa
|
||||
and #1
|
||||
cmp #0
|
||||
beq b4
|
||||
lda res
|
||||
clc
|
||||
adc mb
|
||||
sta res
|
||||
lda res+1
|
||||
adc mb+1
|
||||
sta res+1
|
||||
b4:
|
||||
txa
|
||||
lsr
|
||||
tax
|
||||
asl mb
|
||||
rol mb+1
|
||||
jmp b1
|
||||
}
|
||||
sin8s: {
|
||||
.const DIV_6 = $2b
|
||||
.label _6 = $b
|
||||
.label x = $b
|
||||
.label x1 = $12
|
||||
.label x3 = $13
|
||||
.label usinx = $14
|
||||
.label isUpper = $a
|
||||
lda x+1
|
||||
cmp #>PI_u4f12
|
||||
bcc b5
|
||||
bne !+
|
||||
lda x
|
||||
cmp #<PI_u4f12
|
||||
bcc b5
|
||||
!:
|
||||
lda x
|
||||
sec
|
||||
sbc #<PI_u4f12
|
||||
sta x
|
||||
lda x+1
|
||||
sbc #>PI_u4f12
|
||||
sta x+1
|
||||
lda #1
|
||||
sta isUpper
|
||||
jmp b1
|
||||
b5:
|
||||
lda #0
|
||||
sta isUpper
|
||||
b1:
|
||||
lda x+1
|
||||
cmp #>PI_HALF_u4f12
|
||||
bcc b2
|
||||
bne !+
|
||||
lda x
|
||||
cmp #<PI_HALF_u4f12
|
||||
bcc b2
|
||||
!:
|
||||
sec
|
||||
lda #<PI_u4f12
|
||||
sbc x
|
||||
sta x
|
||||
lda #>PI_u4f12
|
||||
sbc x+1
|
||||
sta x+1
|
||||
b2:
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
asl _6
|
||||
rol _6+1
|
||||
lda _6+1
|
||||
sta x1
|
||||
tax
|
||||
tay
|
||||
lda #0
|
||||
sta mulu8_sel.select
|
||||
jsr mulu8_sel
|
||||
tax
|
||||
ldy x1
|
||||
lda #1
|
||||
sta mulu8_sel.select
|
||||
jsr mulu8_sel
|
||||
sta x3
|
||||
tax
|
||||
lda #1
|
||||
sta mulu8_sel.select
|
||||
ldy #DIV_6
|
||||
jsr mulu8_sel
|
||||
eor #$ff
|
||||
sec
|
||||
adc x1
|
||||
sta usinx
|
||||
ldx x3
|
||||
ldy x1
|
||||
lda #0
|
||||
sta mulu8_sel.select
|
||||
jsr mulu8_sel
|
||||
tax
|
||||
ldy x1
|
||||
lda #0
|
||||
sta mulu8_sel.select
|
||||
jsr mulu8_sel
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
clc
|
||||
adc usinx
|
||||
tax
|
||||
cpx #$80
|
||||
bcc b3
|
||||
dex
|
||||
b3:
|
||||
lda isUpper
|
||||
beq b18
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
b4:
|
||||
rts
|
||||
b18:
|
||||
txa
|
||||
jmp b4
|
||||
}
|
||||
mulu8_sel: {
|
||||
.label _0 = $b
|
||||
.label _1 = $b
|
||||
.label select = $f
|
||||
tya
|
||||
jsr mul8u
|
||||
ldy select
|
||||
beq !e+
|
||||
!:
|
||||
asl _1
|
||||
rol _1+1
|
||||
dey
|
||||
bne !-
|
||||
!e:
|
||||
lda _1+1
|
||||
rts
|
||||
}
|
||||
div16u: {
|
||||
.label return = $10
|
||||
jsr divr16u
|
||||
rts
|
||||
}
|
||||
divr16u: {
|
||||
.label rem = 2
|
||||
.label dividend = 4
|
||||
.label quotient = $10
|
||||
.label return = $10
|
||||
ldx #0
|
||||
txa
|
||||
sta quotient
|
||||
sta quotient+1
|
||||
lda #<PI2_u4f12
|
||||
sta dividend
|
||||
lda #>PI2_u4f12
|
||||
sta dividend+1
|
||||
txa
|
||||
sta rem
|
||||
sta rem+1
|
||||
b1:
|
||||
asl rem
|
||||
rol rem+1
|
||||
lda dividend+1
|
||||
and #$80
|
||||
cmp #0
|
||||
beq b2
|
||||
lda #1
|
||||
ora rem
|
||||
sta rem
|
||||
b2:
|
||||
asl dividend
|
||||
rol dividend+1
|
||||
asl quotient
|
||||
rol quotient+1
|
||||
lda rem+1
|
||||
cmp #>main.tabsize
|
||||
bcc b3
|
||||
bne !+
|
||||
lda rem
|
||||
cmp #<main.tabsize
|
||||
bcc b3
|
||||
!:
|
||||
inc quotient
|
||||
bne !+
|
||||
inc quotient+1
|
||||
!:
|
||||
lda rem
|
||||
sec
|
||||
sbc #<main.tabsize
|
||||
sta rem
|
||||
lda rem+1
|
||||
sbc #>main.tabsize
|
||||
sta rem+1
|
||||
b3:
|
||||
inx
|
||||
cpx #$10
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 2
|
||||
lda #<SCREEN
|
||||
sta sc
|
||||
lda #>SCREEN
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
ldy #0
|
||||
sta (sc),y
|
||||
inc sc
|
||||
bne !+
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>SCREEN+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<SCREEN+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
376
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg
Normal file
376
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg
Normal file
@ -0,0 +1,376 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@30
|
||||
@30: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @30
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @30
|
||||
[4] phi() [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main
|
||||
[6] phi() [ ] ( main:2 [ ] )
|
||||
[7] call sin8u_table param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
[8] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
sin8u_table: scope:[sin8u_table] from main::@1
|
||||
[9] phi() [ ] ( main:2::sin8u_table:7 [ ] )
|
||||
[10] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8u_table:7 [ div16u::return#0 ] )
|
||||
[11] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8u_table:7 [ div16u::return#2 ] )
|
||||
to:sin8u_table::@3
|
||||
sin8u_table::@3: scope:[sin8u_table] from sin8u_table
|
||||
[12] (word) sin8u_table::step#0 ← (word) div16u::return#2 [ sin8u_table::step#0 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 ] )
|
||||
[13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
to:sin8u_table::@4
|
||||
sin8u_table::@4: scope:[sin8u_table] from sin8u_table::@3
|
||||
[14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] )
|
||||
[15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
to:sin8u_table::@5
|
||||
sin8u_table::@5: scope:[sin8u_table] from sin8u_table::@4
|
||||
[16] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
[17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
to:sin8u_table::@6
|
||||
sin8u_table::@6: scope:[sin8u_table] from sin8u_table::@5
|
||||
[18] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
[19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
to:sin8u_table::@7
|
||||
sin8u_table::@7: scope:[sin8u_table] from sin8u_table::@6
|
||||
[20] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
[21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
to:sin8u_table::@8
|
||||
sin8u_table::@8: scope:[sin8u_table] from sin8u_table::@7
|
||||
[22] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
[23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
to:sin8u_table::@9
|
||||
sin8u_table::@9: scope:[sin8u_table] from sin8u_table::@8
|
||||
[24] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
[25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
to:sin8u_table::@10
|
||||
sin8u_table::@10: scope:[sin8u_table] from sin8u_table::@9
|
||||
[26] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
[27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
to:sin8u_table::@11
|
||||
sin8u_table::@11: scope:[sin8u_table] from sin8u_table::@10
|
||||
[28] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
[29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
to:sin8u_table::@12
|
||||
sin8u_table::@12: scope:[sin8u_table] from sin8u_table::@11
|
||||
[30] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] )
|
||||
[31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
to:sin8u_table::@13
|
||||
sin8u_table::@13: scope:[sin8u_table] from sin8u_table::@12
|
||||
[32] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] )
|
||||
[33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] )
|
||||
to:sin8u_table::@1
|
||||
sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@13 sin8u_table::@21
|
||||
[34] (word) sin8u_table::i#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::i#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] )
|
||||
[34] (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@13/(const byte[20]) main::sintab#0 sin8u_table::@21/(byte*) sin8u_table::sintab#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] )
|
||||
[34] (word) sin8u_table::x#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::x#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] )
|
||||
[35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] )
|
||||
[36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] )
|
||||
[37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] )
|
||||
to:sin8u_table::@15
|
||||
sin8u_table::@15: scope:[sin8u_table] from sin8u_table::@1
|
||||
[38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] )
|
||||
[39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] )
|
||||
[40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] )
|
||||
to:sin8u_table::@16
|
||||
sin8u_table::@16: scope:[sin8u_table] from sin8u_table::@15
|
||||
[41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] )
|
||||
[42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] )
|
||||
[43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] )
|
||||
[44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] )
|
||||
[45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] )
|
||||
[46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] )
|
||||
[47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] )
|
||||
to:sin8u_table::@17
|
||||
sin8u_table::@17: scope:[sin8u_table] from sin8u_table::@16
|
||||
[48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] )
|
||||
[49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:sin8u_table::@18
|
||||
sin8u_table::@18: scope:[sin8u_table] from sin8u_table::@17
|
||||
[50] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
[51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] )
|
||||
to:sin8u_table::@19
|
||||
sin8u_table::@19: scope:[sin8u_table] from sin8u_table::@18
|
||||
[52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] )
|
||||
[53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] )
|
||||
to:sin8u_table::@20
|
||||
sin8u_table::@20: scope:[sin8u_table] from sin8u_table::@19
|
||||
[54] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] )
|
||||
[55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] )
|
||||
to:sin8u_table::@21
|
||||
sin8u_table::@21: scope:[sin8u_table] from sin8u_table::@20
|
||||
[56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] )
|
||||
[57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] )
|
||||
[58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] )
|
||||
to:sin8u_table::@return
|
||||
sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@21
|
||||
[59] return [ ] ( main:2::sin8u_table:7 [ ] )
|
||||
to:@return
|
||||
print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@20
|
||||
[60] (byte*) line_cursor#23 ← phi( sin8u_table::@13/(const byte*) SCREEN#0 sin8u_table::@20/(byte*) line_cursor#1 ) [ line_cursor#23 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#23 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#23 char_cursor#11 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[61] (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#12 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#12 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#12 char_cursor#11 ] )
|
||||
[62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] )
|
||||
[63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] )
|
||||
to:@return
|
||||
print_byte: scope:[print_byte] from print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@19 sin8u_table::@6 sin8u_table::@8
|
||||
[65] (byte*) char_cursor#73 ← phi( print_word/(byte*) char_cursor#2 print_word::@1/(byte*) char_cursor#11 sin8u_table::@10/(byte*) char_cursor#2 sin8u_table::@12/(byte*) char_cursor#2 sin8u_table::@19/(byte*) char_cursor#2 sin8u_table::@6/(byte*) char_cursor#2 sin8u_table::@8/(byte*) char_cursor#2 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] )
|
||||
[65] (byte) print_byte::b#7 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 sin8u_table::@10/(const byte) sin8u_table::amplitude#0 sin8u_table::@12/(const byte) sin8u_table::mid#0 sin8u_table::@19/(byte) print_byte::b#6 sin8u_table::@6/(const byte) sin8u_table::min#0 sin8u_table::@8/(const byte) sin8u_table::max#0 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] )
|
||||
[66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] )
|
||||
[67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] )
|
||||
[68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] )
|
||||
to:print_byte::@1
|
||||
print_byte::@1: scope:[print_byte] from print_byte
|
||||
[69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] )
|
||||
[70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] )
|
||||
[71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_byte::@return
|
||||
print_byte::@return: scope:[print_byte] from print_byte::@1
|
||||
[72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_char: scope:[print_char] from print_byte print_byte::@1
|
||||
[73] (byte*) char_cursor#46 ← phi( print_byte/(byte*) char_cursor#73 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] )
|
||||
[73] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) [ print_char::ch#2 char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] )
|
||||
[74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] )
|
||||
[75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_char::@return
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
[76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9
|
||||
[77] (byte*) char_cursor#78 ← phi( sin8u_table::@11/(byte*) char_cursor#11 sin8u_table::@16/(byte*~) char_cursor#92 sin8u_table::@18/(byte*) char_cursor#11 sin8u_table::@3/(const byte*) SCREEN#0 sin8u_table::@5/(byte*) char_cursor#11 sin8u_table::@7/(byte*) char_cursor#11 sin8u_table::@9/(byte*) char_cursor#11 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] )
|
||||
[77] (byte*) print_str::str#10 ← phi( sin8u_table::@11/(const string) sin8u_table::str4 sin8u_table::@16/(const string) sin8u_table::str5 sin8u_table::@18/(const string) sin8u_table::str6 sin8u_table::@3/(const string) sin8u_table::str sin8u_table::@5/(const string) sin8u_table::str1 sin8u_table::@7/(const string) sin8u_table::str2 sin8u_table::@9/(const string) sin8u_table::str3 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[78] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#78 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] )
|
||||
[78] (byte*) print_str::str#8 ← phi( print_str/(byte*) print_str::str#10 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] )
|
||||
[79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] )
|
||||
[82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] )
|
||||
[83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
print_word: scope:[print_word] from sin8u_table::@17 sin8u_table::@4
|
||||
[84] (word) print_word::w#2 ← phi( sin8u_table::@17/(word) print_word::w#1 sin8u_table::@4/(word) print_word::w#0 ) [ char_cursor#2 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_word::w#2 ] )
|
||||
[85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] )
|
||||
[86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] )
|
||||
to:print_word::@1
|
||||
print_word::@1: scope:[print_word] from print_word
|
||||
[87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] )
|
||||
[88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:print_word::@return
|
||||
print_word::@return: scope:[print_word] from print_word::@1
|
||||
[89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] )
|
||||
to:@return
|
||||
mul8su: scope:[mul8su] from sin8u_table::@15
|
||||
[90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] )
|
||||
[91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] )
|
||||
[92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] )
|
||||
to:mul8su::@4
|
||||
mul8su::@4: scope:[mul8su] from mul8su
|
||||
[93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] )
|
||||
[94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] )
|
||||
to:mul8su::@2
|
||||
mul8su::@2: scope:[mul8su] from mul8su::@4
|
||||
[95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] )
|
||||
[96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] )
|
||||
[97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] )
|
||||
to:mul8su::@1
|
||||
mul8su::@1: scope:[mul8su] from mul8su::@2 mul8su::@4
|
||||
[98] (word) mul8su::m#2 ← phi( mul8su::@2/(word) mul8su::m#1 mul8su::@4/(word) mul8su::m#0 ) [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] )
|
||||
to:mul8su::@return
|
||||
mul8su::@return: scope:[mul8su] from mul8su::@1
|
||||
[99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] )
|
||||
to:@return
|
||||
mul8u: scope:[mul8u] from mul8su mulu8_sel
|
||||
[100] (byte) mul8u::a#6 ← phi( mul8su/(byte~) mul8u::a#8 mulu8_sel/(byte) mul8u::a#2 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] )
|
||||
[100] (byte) mul8u::b#2 ← phi( mul8su/((byte))(const byte) sin8u_table::amplitude#0 mulu8_sel/(byte) mul8u::b#1 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] )
|
||||
[101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] )
|
||||
to:mul8u::@1
|
||||
mul8u::@1: scope:[mul8u] from mul8u mul8u::@4
|
||||
[102] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] )
|
||||
[102] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] )
|
||||
[102] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] )
|
||||
[103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] )
|
||||
to:mul8u::@return
|
||||
mul8u::@return: scope:[mul8u] from mul8u::@1
|
||||
[104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] )
|
||||
to:@return
|
||||
mul8u::@2: scope:[mul8u] from mul8u::@1
|
||||
[105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] )
|
||||
[106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] )
|
||||
to:mul8u::@7
|
||||
mul8u::@7: scope:[mul8u] from mul8u::@2
|
||||
[107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] )
|
||||
to:mul8u::@4
|
||||
mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7
|
||||
[108] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] )
|
||||
[109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] )
|
||||
[110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] )
|
||||
to:mul8u::@1
|
||||
sin8s: scope:[sin8s] from sin8u_table::@1
|
||||
[111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] )
|
||||
to:sin8s::@5
|
||||
sin8s::@5: scope:[sin8s] from sin8s
|
||||
[112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] )
|
||||
to:sin8s::@1
|
||||
sin8s::@1: scope:[sin8s] from sin8s sin8s::@5
|
||||
[113] (byte) sin8s::isUpper#10 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] )
|
||||
[113] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#2 sin8s::@5/(word) sin8s::x#0 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] )
|
||||
[114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] )
|
||||
to:sin8s::@6
|
||||
sin8s::@6: scope:[sin8s] from sin8s::@1
|
||||
[115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] )
|
||||
to:sin8s::@2
|
||||
sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@6
|
||||
[116] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#1 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#6 ] )
|
||||
[117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] )
|
||||
[118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] )
|
||||
[119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] )
|
||||
[120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] )
|
||||
[121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] )
|
||||
[122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] )
|
||||
to:sin8s::@10
|
||||
sin8s::@10: scope:[sin8s] from sin8s::@2
|
||||
[123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] )
|
||||
[124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] )
|
||||
[125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] )
|
||||
[126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] )
|
||||
[127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] )
|
||||
to:sin8s::@11
|
||||
sin8s::@11: scope:[sin8s] from sin8s::@10
|
||||
[128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] )
|
||||
[129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] )
|
||||
[130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] )
|
||||
[131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] )
|
||||
to:sin8s::@12
|
||||
sin8s::@12: scope:[sin8s] from sin8s::@11
|
||||
[132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] )
|
||||
[133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] )
|
||||
[134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] )
|
||||
[135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] )
|
||||
[136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] )
|
||||
[137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] )
|
||||
to:sin8s::@13
|
||||
sin8s::@13: scope:[sin8s] from sin8s::@12
|
||||
[138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] )
|
||||
[139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] )
|
||||
[140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] )
|
||||
[141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] )
|
||||
[142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] )
|
||||
to:sin8s::@14
|
||||
sin8s::@14: scope:[sin8s] from sin8s::@13
|
||||
[143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] )
|
||||
[144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] )
|
||||
[145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] )
|
||||
[146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] )
|
||||
to:sin8s::@7
|
||||
sin8s::@7: scope:[sin8s] from sin8s::@14
|
||||
[147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] )
|
||||
to:sin8s::@3
|
||||
sin8s::@3: scope:[sin8s] from sin8s::@14 sin8s::@7
|
||||
[148] (byte) sin8s::usinx#4 ← phi( sin8s::@14/(byte) sin8s::usinx#1 sin8s::@7/(byte) sin8s::usinx#2 ) [ sin8s::isUpper#10 sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#4 ] )
|
||||
[149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] )
|
||||
to:sin8s::@8
|
||||
sin8s::@8: scope:[sin8s] from sin8s::@3
|
||||
[150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] )
|
||||
to:sin8s::@4
|
||||
sin8s::@4: scope:[sin8s] from sin8s::@18 sin8s::@8
|
||||
[151] (signed byte) sin8s::return#0 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] )
|
||||
to:sin8s::@return
|
||||
sin8s::@return: scope:[sin8s] from sin8s::@4
|
||||
[152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] )
|
||||
to:@return
|
||||
sin8s::@18: scope:[sin8s] from sin8s::@3
|
||||
[153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] )
|
||||
to:sin8s::@4
|
||||
mulu8_sel: scope:[mulu8_sel] from sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@2
|
||||
[154] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
|
||||
[154] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#1 sin8s::@11/(const byte) sin8s::DIV_6#0 sin8s::@12/(byte) mulu8_sel::v2#3 sin8s::@13/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
|
||||
[154] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#1 sin8s::@11/(byte) mulu8_sel::v1#2 sin8s::@12/(byte) mulu8_sel::v1#3 sin8s::@13/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
|
||||
[155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
|
||||
[156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] )
|
||||
[157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] )
|
||||
[158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] )
|
||||
to:mulu8_sel::@2
|
||||
mulu8_sel::@2: scope:[mulu8_sel] from mulu8_sel
|
||||
[159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] )
|
||||
[160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] )
|
||||
[161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] )
|
||||
to:mulu8_sel::@return
|
||||
mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2
|
||||
[162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] )
|
||||
to:@return
|
||||
div16u: scope:[div16u] from sin8u_table
|
||||
[163] phi() [ ] ( main:2::sin8u_table:7::div16u:10 [ ] )
|
||||
[164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] )
|
||||
[165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] )
|
||||
to:div16u::@2
|
||||
div16u::@2: scope:[div16u] from div16u
|
||||
[166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] )
|
||||
to:div16u::@return
|
||||
div16u::@return: scope:[div16u] from div16u::@2
|
||||
[167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] )
|
||||
to:@return
|
||||
divr16u: scope:[divr16u] from div16u
|
||||
[168] phi() [ ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ ] )
|
||||
to:divr16u::@1
|
||||
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
||||
[169] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
|
||||
[169] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
|
||||
[169] (word) divr16u::dividend#2 ← phi( divr16u/(const word) PI2_u4f12#0 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
|
||||
[169] (word) divr16u::rem#4 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
|
||||
[170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
|
||||
[171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
|
||||
[172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
|
||||
[173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
|
||||
to:divr16u::@4
|
||||
divr16u::@4: scope:[divr16u] from divr16u::@1
|
||||
[174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
|
||||
to:divr16u::@2
|
||||
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
|
||||
[175] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] )
|
||||
[176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] )
|
||||
[177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
|
||||
[178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
|
||||
to:divr16u::@5
|
||||
divr16u::@5: scope:[divr16u] from divr16u::@2
|
||||
[179] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] )
|
||||
[180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
|
||||
to:divr16u::@3
|
||||
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
|
||||
[181] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
|
||||
[181] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
|
||||
[182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
|
||||
[183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
|
||||
to:divr16u::@return
|
||||
divr16u::@return: scope:[divr16u] from divr16u::@3
|
||||
[184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] )
|
||||
to:@return
|
||||
print_cls: scope:[print_cls] from main
|
||||
[185] phi() [ ] ( main:2::print_cls:5 [ ] )
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
[186] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
|
||||
[188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
[189] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
|
||||
to:print_cls::@return
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@1
|
||||
[190] return [ ] ( main:2::print_cls:5 [ ] )
|
||||
to:@return
|
10523
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log
Normal file
10523
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log
Normal file
File diff suppressed because it is too large
Load Diff
330
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.sym
Normal file
330
src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.sym
Normal file
@ -0,0 +1,330 @@
|
||||
(label) @30
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
(const word) PI2_u4f12#0 PI2_u4f12 = (word/signed word/dword/signed dword) 25736
|
||||
(word) PI_HALF_u4f12
|
||||
(const word) PI_HALF_u4f12#0 PI_HALF_u4f12 = (word/signed word/dword/signed dword) 6434
|
||||
(word) PI_u4f12
|
||||
(const word) PI_u4f12#0 PI_u4f12 = (word/signed word/dword/signed dword) 12868
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte*) char_cursor
|
||||
(byte*) char_cursor#1 char_cursor zp ZP_WORD:11 101.0
|
||||
(byte*) char_cursor#11 char_cursor zp ZP_WORD:11 4.344827586206896
|
||||
(byte*) char_cursor#2 char_cursor zp ZP_WORD:11 16.3
|
||||
(byte*) char_cursor#46 char_cursor zp ZP_WORD:11 4.0
|
||||
(byte*) char_cursor#73 char_cursor zp ZP_WORD:11 8.333333333333334
|
||||
(byte*) char_cursor#78 char_cursor zp ZP_WORD:11 32.0
|
||||
(byte*~) char_cursor#92 char_cursor zp ZP_WORD:11 22.0
|
||||
(word()) div16u((word) div16u::dividend , (word) div16u::divisor)
|
||||
(label) div16u::@2
|
||||
(label) div16u::@return
|
||||
(word) div16u::dividend
|
||||
(word) div16u::divisor
|
||||
(word) div16u::return
|
||||
(word) div16u::return#0 return zp ZP_WORD:16 1.3333333333333333
|
||||
(word) div16u::return#2 return zp ZP_WORD:16 4.0
|
||||
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
|
||||
(byte~) divr16u::$1 reg byte a 22.0
|
||||
(byte~) divr16u::$2 reg byte a 22.0
|
||||
(label) divr16u::@1
|
||||
(label) divr16u::@2
|
||||
(label) divr16u::@3
|
||||
(label) divr16u::@4
|
||||
(label) divr16u::@5
|
||||
(label) divr16u::@return
|
||||
(word) divr16u::dividend
|
||||
(word) divr16u::dividend#0 dividend zp ZP_WORD:4 2.75
|
||||
(word) divr16u::dividend#2 dividend zp ZP_WORD:4 4.714285714285714
|
||||
(word) divr16u::divisor
|
||||
(byte) divr16u::i
|
||||
(byte) divr16u::i#1 reg byte x 16.5
|
||||
(byte) divr16u::i#2 reg byte x 1.6923076923076923
|
||||
(word) divr16u::quotient
|
||||
(word) divr16u::quotient#1 quotient zp ZP_WORD:16 16.5
|
||||
(word) divr16u::quotient#2 quotient zp ZP_WORD:16 11.0
|
||||
(word) divr16u::quotient#3 quotient zp ZP_WORD:16 2.75
|
||||
(word) divr16u::rem
|
||||
(word) divr16u::rem#0 rem zp ZP_WORD:2 8.25
|
||||
(word) divr16u::rem#1 rem zp ZP_WORD:2 22.0
|
||||
(word) divr16u::rem#10 rem zp ZP_WORD:2 11.0
|
||||
(word) divr16u::rem#2 rem zp ZP_WORD:2 22.0
|
||||
(word) divr16u::rem#4 rem zp ZP_WORD:2 22.0
|
||||
(word) divr16u::rem#5 rem zp ZP_WORD:2 11.0
|
||||
(word) divr16u::return
|
||||
(word) divr16u::return#0 return zp ZP_WORD:16 7.000000000000001
|
||||
(word) divr16u::return#2 return zp ZP_WORD:16 4.0
|
||||
(byte*) line_cursor
|
||||
(byte*) line_cursor#1 line_cursor zp ZP_WORD:8 11.206896551724137
|
||||
(byte*) line_cursor#12 line_cursor zp ZP_WORD:8 204.0
|
||||
(byte*) line_cursor#23 line_cursor zp ZP_WORD:8 13.0
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
(byte[20]) main::sintab
|
||||
(const byte[20]) main::sintab#0 sintab = { fill( 20, 0) }
|
||||
(word) main::tabsize
|
||||
(const word) main::tabsize#0 tabsize = (byte/signed byte/word/signed word/dword/signed dword) 20
|
||||
(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 reg byte a 4.0
|
||||
(byte~) mul8su::$6 reg byte a 4.0
|
||||
(label) mul8su::@1
|
||||
(label) mul8su::@2
|
||||
(label) mul8su::@4
|
||||
(label) mul8su::@return
|
||||
(signed byte) mul8su::a
|
||||
(signed byte) mul8su::a#0 reg byte y 2.6
|
||||
(byte) mul8su::b
|
||||
(word) mul8su::m
|
||||
(word) mul8su::m#0 m zp ZP_WORD:11 2.0
|
||||
(word) mul8su::m#1 m zp ZP_WORD:11 4.0
|
||||
(word) mul8su::m#2 m zp ZP_WORD:11 1.3333333333333333
|
||||
(signed word) mul8su::return
|
||||
(signed word) mul8su::return#2 return zp ZP_WORD:11 22.0
|
||||
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||
(byte~) mul8u::$1 reg byte a 202.0
|
||||
(label) mul8u::@1
|
||||
(label) mul8u::@2
|
||||
(label) mul8u::@4
|
||||
(label) mul8u::@7
|
||||
(label) mul8u::@return
|
||||
(byte) mul8u::a
|
||||
(byte) mul8u::a#0 reg byte x 101.0
|
||||
(byte) mul8u::a#2 reg byte x 2.0
|
||||
(byte) mul8u::a#3 reg byte x 67.66666666666666
|
||||
(byte) mul8u::a#6 reg byte x 3.0
|
||||
(byte~) mul8u::a#8 reg byte x 4.0
|
||||
(byte) mul8u::b
|
||||
(byte) mul8u::b#1 reg byte a 4.0
|
||||
(byte) mul8u::b#2 reg byte a 4.0
|
||||
(word) mul8u::mb
|
||||
(word) mul8u::mb#0 mb zp ZP_WORD:13 4.0
|
||||
(word) mul8u::mb#1 mb zp ZP_WORD:13 202.0
|
||||
(word) mul8u::mb#2 mb zp ZP_WORD:13 43.57142857142858
|
||||
(word) mul8u::res
|
||||
(word) mul8u::res#1 res zp ZP_WORD:11 202.0
|
||||
(word) mul8u::res#2 res zp ZP_WORD:11 43.85714285714286
|
||||
(word) mul8u::res#6 res zp ZP_WORD:11 101.0
|
||||
(word) mul8u::return
|
||||
(word) mul8u::return#2 return zp ZP_WORD:11 4.0
|
||||
(word) mul8u::return#3 return zp ZP_WORD:11 4.0
|
||||
(byte()) mulu8_sel((byte) mulu8_sel::v1 , (byte) mulu8_sel::v2 , (byte) mulu8_sel::select)
|
||||
(word~) mulu8_sel::$0 $0 zp ZP_WORD:11 4.0
|
||||
(word~) mulu8_sel::$1 $1 zp ZP_WORD:11 4.0
|
||||
(label) mulu8_sel::@2
|
||||
(label) mulu8_sel::@return
|
||||
(byte) mulu8_sel::return
|
||||
(byte) mulu8_sel::return#0 reg byte a 4.0
|
||||
(byte) mulu8_sel::return#1 reg byte a 4.0
|
||||
(byte) mulu8_sel::return#10 reg byte a 4.0
|
||||
(byte) mulu8_sel::return#11 reg byte a 4.0
|
||||
(byte) mulu8_sel::return#12 reg byte a 1.714285714285714
|
||||
(byte) mulu8_sel::return#2 reg byte a 4.0
|
||||
(byte) mulu8_sel::select
|
||||
(byte) mulu8_sel::select#5 select zp ZP_BYTE:15 0.3333333333333333
|
||||
(byte) mulu8_sel::v1
|
||||
(byte) mulu8_sel::v1#0 reg byte x 2.0
|
||||
(byte) mulu8_sel::v1#1 reg byte x 2.0
|
||||
(byte) mulu8_sel::v1#2 reg byte x 4.0
|
||||
(byte) mulu8_sel::v1#3 reg byte x 2.0
|
||||
(byte) mulu8_sel::v1#4 reg byte x 2.0
|
||||
(byte) mulu8_sel::v1#5 reg byte x 12.0
|
||||
(byte) mulu8_sel::v2
|
||||
(byte) mulu8_sel::v2#0 reg byte y 4.0
|
||||
(byte) mulu8_sel::v2#1 reg byte y 4.0
|
||||
(byte) mulu8_sel::v2#3 reg byte y 4.0
|
||||
(byte) mulu8_sel::v2#4 reg byte y 4.0
|
||||
(byte) mulu8_sel::v2#5 reg byte y 5.0
|
||||
(void()) print_byte((byte) print_byte::b)
|
||||
(byte~) print_byte::$0 reg byte a 4.0
|
||||
(byte~) print_byte::$2 reg byte a 4.0
|
||||
(label) print_byte::@1
|
||||
(label) print_byte::@return
|
||||
(byte) print_byte::b
|
||||
(byte) print_byte::b#0 b zp ZP_BYTE:10 4.0
|
||||
(byte) print_byte::b#1 b zp ZP_BYTE:10 4.0
|
||||
(byte) print_byte::b#6 b zp ZP_BYTE:10 22.0
|
||||
(byte) print_byte::b#7 b zp ZP_BYTE:10 4.75
|
||||
(byte[]) print_byte::hextab
|
||||
(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef"
|
||||
(void()) print_char((byte) print_char::ch)
|
||||
(label) print_char::@return
|
||||
(byte) print_char::ch
|
||||
(byte) print_char::ch#0 reg byte a 4.0
|
||||
(byte) print_char::ch#1 reg byte a 4.0
|
||||
(byte) print_char::ch#2 reg byte a 6.0
|
||||
(void()) print_cls()
|
||||
(label) print_cls::@1
|
||||
(label) print_cls::@return
|
||||
(byte*) print_cls::sc
|
||||
(byte*) print_cls::sc#1 sc zp ZP_WORD:2 16.5
|
||||
(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5
|
||||
(void()) print_ln()
|
||||
(label) print_ln::@1
|
||||
(label) print_ln::@return
|
||||
(void()) print_str((byte*) print_str::str)
|
||||
(label) print_str::@1
|
||||
(label) print_str::@2
|
||||
(label) print_str::@return
|
||||
(byte*) print_str::str
|
||||
(byte*) print_str::str#0 str zp ZP_WORD:13 202.0
|
||||
(byte*) print_str::str#10 str zp ZP_WORD:13 2.0
|
||||
(byte*) print_str::str#8 str zp ZP_WORD:13 101.5
|
||||
(void()) print_word((word) print_word::w)
|
||||
(label) print_word::@1
|
||||
(label) print_word::@return
|
||||
(word) print_word::w
|
||||
(word) print_word::w#0 w zp ZP_WORD:2 4.0
|
||||
(word) print_word::w#1 w zp ZP_WORD:2 22.0
|
||||
(word) print_word::w#2 w zp ZP_WORD:2 5.666666666666667
|
||||
(word) rem16u
|
||||
(signed byte()) sin8s((word) sin8s::x)
|
||||
(word~) sin8s::$6 $6 zp ZP_WORD:11 4.0
|
||||
(label) sin8s::@1
|
||||
(label) sin8s::@10
|
||||
(label) sin8s::@11
|
||||
(label) sin8s::@12
|
||||
(label) sin8s::@13
|
||||
(label) sin8s::@14
|
||||
(label) sin8s::@18
|
||||
(label) sin8s::@2
|
||||
(label) sin8s::@3
|
||||
(label) sin8s::@4
|
||||
(label) sin8s::@5
|
||||
(label) sin8s::@6
|
||||
(label) sin8s::@7
|
||||
(label) sin8s::@8
|
||||
(label) sin8s::@return
|
||||
(byte) sin8s::DIV_6
|
||||
(const byte) sin8s::DIV_6#0 DIV_6 = (byte/signed byte/word/signed word/dword/signed dword) 43
|
||||
(byte) sin8s::isUpper
|
||||
(byte) sin8s::isUpper#10 isUpper zp ZP_BYTE:10 0.05555555555555555
|
||||
(signed byte) sin8s::return
|
||||
(signed byte) sin8s::return#0 reg byte a 5.0
|
||||
(signed byte) sin8s::return#2 reg byte a 22.0
|
||||
(signed byte~) sin8s::return#5 reg byte a 4.0
|
||||
(signed byte) sin8s::sinx
|
||||
(signed byte) sin8s::sinx#1 reg byte a 4.0
|
||||
(byte) sin8s::usinx
|
||||
(byte) sin8s::usinx#0 usinx zp ZP_BYTE:20 0.3333333333333333
|
||||
(byte) sin8s::usinx#1 reg byte x 4.0
|
||||
(byte) sin8s::usinx#2 reg byte x 4.0
|
||||
(byte) sin8s::usinx#4 reg byte x 2.0
|
||||
(word) sin8s::x
|
||||
(word) sin8s::x#0 x zp ZP_WORD:11 4.0
|
||||
(word) sin8s::x#1 x zp ZP_WORD:11 4.0
|
||||
(word) sin8s::x#2 x zp ZP_WORD:11 8.5
|
||||
(word) sin8s::x#4 x zp ZP_WORD:11 5.0
|
||||
(word) sin8s::x#6 x zp ZP_WORD:11 6.0
|
||||
(byte) sin8s::x1
|
||||
(byte) sin8s::x1#0 x1 zp ZP_BYTE:18 0.6363636363636365
|
||||
(byte) sin8s::x2
|
||||
(byte) sin8s::x2#0 reg byte a 4.0
|
||||
(byte) sin8s::x3
|
||||
(byte) sin8s::x3#0 x3 zp ZP_BYTE:19 1.0
|
||||
(byte) sin8s::x3_6
|
||||
(byte) sin8s::x3_6#0 reg byte a 4.0
|
||||
(byte) sin8s::x4
|
||||
(byte) sin8s::x4#0 reg byte a 4.0
|
||||
(byte) sin8s::x5
|
||||
(byte) sin8s::x5#0 reg byte a 4.0
|
||||
(byte) sin8s::x5_128
|
||||
(byte) sin8s::x5_128#0 reg byte a 4.0
|
||||
(void()) sin8u_table((byte*) sin8u_table::sintab , (word) sin8u_table::tabsize , (byte) sin8u_table::min , (byte) sin8u_table::max)
|
||||
(signed word~) sin8u_table::$17 $17 zp ZP_WORD:11 22.0
|
||||
(byte~) sin8u_table::$18 reg byte a 22.0
|
||||
(label) sin8u_table::@1
|
||||
(label) sin8u_table::@10
|
||||
(label) sin8u_table::@11
|
||||
(label) sin8u_table::@12
|
||||
(label) sin8u_table::@13
|
||||
(label) sin8u_table::@15
|
||||
(label) sin8u_table::@16
|
||||
(label) sin8u_table::@17
|
||||
(label) sin8u_table::@18
|
||||
(label) sin8u_table::@19
|
||||
(label) sin8u_table::@20
|
||||
(label) sin8u_table::@21
|
||||
(label) sin8u_table::@3
|
||||
(label) sin8u_table::@4
|
||||
(label) sin8u_table::@5
|
||||
(label) sin8u_table::@6
|
||||
(label) sin8u_table::@7
|
||||
(label) sin8u_table::@8
|
||||
(label) sin8u_table::@9
|
||||
(label) sin8u_table::@return
|
||||
(byte) sin8u_table::amplitude
|
||||
(const byte) sin8u_table::amplitude#0 amplitude = (const byte) sin8u_table::max#0-(const byte) sin8u_table::min#0
|
||||
(word) sin8u_table::i
|
||||
(word) sin8u_table::i#1 i zp ZP_WORD:6 16.5
|
||||
(word) sin8u_table::i#2 i zp ZP_WORD:6 0.9565217391304348
|
||||
(byte) sin8u_table::max
|
||||
(const byte) sin8u_table::max#0 max = (byte/word/signed word/dword/signed dword) 255
|
||||
(byte) sin8u_table::mid
|
||||
(const byte) sin8u_table::mid#0 mid = ((byte))(const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) sin8u_table::min
|
||||
(const byte) sin8u_table::min#0 min = (byte/signed byte/word/signed word/dword/signed dword) 10
|
||||
(byte*) sin8u_table::sintab
|
||||
(byte*) sin8u_table::sintab#1 sintab zp ZP_WORD:4 1.5714285714285714
|
||||
(byte*) sin8u_table::sintab#2 sintab zp ZP_WORD:4 3.0
|
||||
(byte) sin8u_table::sinval
|
||||
(byte) sin8u_table::sinval#0 reg byte x 3.666666666666667
|
||||
(word) sin8u_table::step
|
||||
(word) sin8u_table::step#0 step zp ZP_WORD:16 0.3191489361702128
|
||||
(const string) sin8u_table::str str = (string) "step:@"
|
||||
(const string) sin8u_table::str1 str1 = (string) " min:@"
|
||||
(const string) sin8u_table::str2 str2 = (string) " max:@"
|
||||
(const string) sin8u_table::str3 str3 = (string) " ampl:@"
|
||||
(const string) sin8u_table::str4 str4 = (string) " mid:@"
|
||||
(const string) sin8u_table::str5 str5 = (string) "x: @"
|
||||
(const string) sin8u_table::str6 str6 = (string) " sin: @"
|
||||
(word) sin8u_table::sum
|
||||
(const word) sin8u_table::sum#0 sum = (const byte) sin8u_table::min#0+(const byte) sin8u_table::max#0
|
||||
(word) sin8u_table::tabsize
|
||||
(word) sin8u_table::x
|
||||
(word) sin8u_table::x#1 x zp ZP_WORD:2 7.333333333333333
|
||||
(word) sin8u_table::x#2 x zp ZP_WORD:2 2.0
|
||||
|
||||
zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 print_word::w#2 print_word::w#1 print_word::w#0 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 print_cls::sc#2 print_cls::sc#1 ]
|
||||
zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 divr16u::dividend#2 divr16u::dividend#0 ]
|
||||
zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ]
|
||||
zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ]
|
||||
zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 sin8s::isUpper#10 ]
|
||||
reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
|
||||
zp ZP_WORD:11 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ]
|
||||
zp ZP_WORD:13 [ print_str::str#8 print_str::str#10 print_str::str#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ]
|
||||
reg byte a [ mul8u::b#2 mul8u::b#1 ]
|
||||
reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ]
|
||||
reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ]
|
||||
reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ]
|
||||
reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ]
|
||||
reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ]
|
||||
zp ZP_BYTE:15 [ mulu8_sel::select#5 ]
|
||||
zp ZP_WORD:16 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ]
|
||||
reg byte x [ divr16u::i#2 divr16u::i#1 ]
|
||||
reg byte a [ sin8s::return#2 ]
|
||||
reg byte y [ mul8su::a#0 ]
|
||||
reg byte a [ sin8u_table::$18 ]
|
||||
reg byte x [ sin8u_table::sinval#0 ]
|
||||
reg byte a [ print_byte::$0 ]
|
||||
reg byte a [ print_byte::$2 ]
|
||||
reg byte a [ mul8su::$6 ]
|
||||
reg byte a [ mul8su::$10 ]
|
||||
reg byte a [ mul8u::$1 ]
|
||||
zp ZP_BYTE:18 [ sin8s::x1#0 ]
|
||||
reg byte a [ mulu8_sel::return#0 ]
|
||||
reg byte a [ sin8s::x2#0 ]
|
||||
reg byte a [ mulu8_sel::return#1 ]
|
||||
zp ZP_BYTE:19 [ sin8s::x3#0 ]
|
||||
reg byte a [ mulu8_sel::return#2 ]
|
||||
reg byte a [ sin8s::x3_6#0 ]
|
||||
zp ZP_BYTE:20 [ sin8s::usinx#0 ]
|
||||
reg byte a [ mulu8_sel::return#10 ]
|
||||
reg byte a [ sin8s::x4#0 ]
|
||||
reg byte a [ mulu8_sel::return#11 ]
|
||||
reg byte a [ sin8s::x5#0 ]
|
||||
reg byte a [ sin8s::x5_128#0 ]
|
||||
reg byte a [ mulu8_sel::return#12 ]
|
||||
reg byte a [ divr16u::$1 ]
|
||||
reg byte a [ divr16u::$2 ]
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@24
|
||||
@24: scope:[] from @begin
|
||||
to:@25
|
||||
@25: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @24
|
||||
@end: scope:[] from @25
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @24
|
||||
main: scope:[main] from @25
|
||||
[4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
|
@ -237,6 +237,16 @@ signed word mul8s(signed byte a, signed byte b) {
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Multiply a signed byte and an unsigned byte (into a signed word)
|
||||
// Fixes offsets introduced by using unsigned multiplication
|
||||
signed word mul8su(signed byte a, byte b) {
|
||||
word m = mul8u((byte)a, (byte) b);
|
||||
if(a<0) {
|
||||
>m = (>m)-(byte)b;
|
||||
}
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word
|
||||
dword mul16u(word a, word b) {
|
||||
dword res = 0;
|
||||
@ -535,6 +545,27 @@ mul8s::@return:
|
||||
(signed word) mul8s::return ← (signed word) mul8s::return
|
||||
return (signed word) mul8s::return
|
||||
endproc // mul8s()
|
||||
proc (signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
lval((byte~) mul8su::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
mul8su::@1:
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
goto mul8su::@return
|
||||
mul8su::@return:
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
endproc // mul8su()
|
||||
proc (dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← (word) mul16u::b
|
||||
@ -1026,6 +1057,23 @@ SYMBOLS
|
||||
(signed byte) mul8s::b
|
||||
(word) mul8s::m
|
||||
(signed word) mul8s::return
|
||||
(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0
|
||||
(byte~) mul8su::$1
|
||||
(word~) mul8su::$2
|
||||
(boolean~) mul8su::$3
|
||||
(boolean~) mul8su::$4
|
||||
(byte~) mul8su::$5
|
||||
(byte~) mul8su::$6
|
||||
(byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(signed word~) mul8su::$9
|
||||
(label) mul8su::@1
|
||||
(label) mul8su::@return
|
||||
(signed byte) mul8su::a
|
||||
(byte) mul8su::b
|
||||
(word) mul8su::m
|
||||
(signed word) mul8su::return
|
||||
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||
(boolean~) mul8u::$0
|
||||
(byte~) mul8u::$1
|
||||
@ -1225,6 +1273,7 @@ SYMBOLS
|
||||
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$16 mul8s::$16 ← mul8s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$17 mul8s::$17 ← mul8s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8su::$10 mul8su::$10 ← mul8su::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$16 mul16s::$16 ← mul16s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$17 mul16s::$17 ← mul16s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mulf8s::$16 mulf8s::$16 ← mulf8s::$8
|
||||
@ -1483,6 +1532,35 @@ mul8s::@5: scope:[mul8s] from
|
||||
to:mul8s::@return
|
||||
@12: scope:[] from @11
|
||||
to:@13
|
||||
mul8su: scope:[mul8su] from
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
to:mul8su::@2
|
||||
mul8su::@1: scope:[mul8su] from mul8su mul8su::@2
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
to:mul8su::@return
|
||||
mul8su::@2: scope:[mul8su] from mul8su
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(word) mul8su::m ← (word) mul8su::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10
|
||||
to:mul8su::@1
|
||||
mul8su::@return: scope:[mul8su] from mul8su::@1 mul8su::@3
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
to:@return
|
||||
mul8su::@3: scope:[mul8su] from
|
||||
to:mul8su::@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
mul16u: scope:[mul16u] from
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← ((dword)) (word) mul16u::b
|
||||
@ -1522,8 +1600,8 @@ mul16u::@return: scope:[mul16u] from mul16u::@3 mul16u::@9
|
||||
to:@return
|
||||
mul16u::@9: scope:[mul16u] from
|
||||
to:mul16u::@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
mul16s: scope:[mul16s] from
|
||||
(word~) mul16s::$0 ← ((word)) (signed word) mul16s::a
|
||||
(word~) mul16s::$1 ← ((word)) (signed word) mul16s::b
|
||||
@ -1564,12 +1642,12 @@ mul16s::@return: scope:[mul16s] from mul16s::@2 mul16s::@5
|
||||
to:@return
|
||||
mul16s::@5: scope:[mul16s] from
|
||||
to:mul16s::@return
|
||||
@14: scope:[] from @13
|
||||
@15: scope:[] from @14
|
||||
(byte[512]) mulf_sqr1_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr1_hi ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_hi ← { fill( 512, 0) }
|
||||
to:@15
|
||||
to:@16
|
||||
mulf_init: scope:[mulf_init] from
|
||||
(word) mulf_init::sqr ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) mulf_init::x_2 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1641,8 +1719,8 @@ mulf_init::@8: scope:[mulf_init] from mulf_init::@4
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@8
|
||||
return
|
||||
to:@return
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
mulf8u: scope:[mulf8u] from
|
||||
(byte*) mulf8u::memA ← ((byte*)) (byte/word/signed word/dword/signed dword) 254
|
||||
(byte*) mulf8u::memB ← ((byte*)) (byte/word/signed word/dword/signed dword) 255
|
||||
@ -1657,8 +1735,8 @@ mulf8u::@return: scope:[mulf8u] from mulf8u mulf8u::@1
|
||||
to:@return
|
||||
mulf8u::@1: scope:[mulf8u] from
|
||||
to:mulf8u::@return
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
@17: scope:[] from @16
|
||||
to:@18
|
||||
mulf8s: scope:[mulf8s] from
|
||||
(byte~) mulf8s::$0 ← ((byte)) (signed byte) mulf8s::a
|
||||
(byte~) mulf8s::$1 ← ((byte)) (signed byte) mulf8s::b
|
||||
@ -1699,9 +1777,9 @@ mulf8s::@return: scope:[mulf8s] from mulf8s::@2 mulf8s::@5
|
||||
to:@return
|
||||
mulf8s::@5: scope:[mulf8s] from
|
||||
to:mulf8s::@return
|
||||
@17: scope:[] from @16
|
||||
@18: scope:[] from @17
|
||||
(byte*) BGCOL ← ((byte*)) (word/dword/signed dword) 53281
|
||||
to:@18
|
||||
to:@19
|
||||
main: scope:[main] from
|
||||
*((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(void~) main::$0 ← call print_cls
|
||||
@ -1712,8 +1790,8 @@ main: scope:[main] from
|
||||
main::@return: scope:[main] from main
|
||||
return
|
||||
to:@return
|
||||
@18: scope:[] from @17
|
||||
to:@19
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
muls16u: scope:[muls16u] from
|
||||
(dword) muls16u::m ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) muls16u::$0 ← (word) muls16u::a != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1741,8 +1819,8 @@ muls16u::@return: scope:[muls16u] from muls16u::@1 muls16u::@5
|
||||
to:@return
|
||||
muls16u::@5: scope:[muls16u] from
|
||||
to:muls16u::@return
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
muls16s: scope:[muls16s] from
|
||||
(signed dword) muls16s::m ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) muls16s::$0 ← (signed word) muls16s::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1791,8 +1869,8 @@ muls16s::@return: scope:[muls16s] from muls16s::@11 muls16s::@3
|
||||
to:@return
|
||||
muls16s::@11: scope:[muls16s] from
|
||||
to:muls16s::@return
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
mul16u_compare: scope:[mul16u_compare] from
|
||||
(word) mul16u_compare::a ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(word) mul16u_compare::b ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1846,8 +1924,8 @@ mul16u_compare::@9: scope:[mul16u_compare] from mul16u_compare::@8
|
||||
(void~) mul16u_compare::$11 ← call print_str (string) "word multiply results match!@"
|
||||
(void~) mul16u_compare::$12 ← call print_ln
|
||||
to:mul16u_compare::@return
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
mul16u_error: scope:[mul16u_error] from
|
||||
(void~) mul16u_error::$0 ← call print_str (string) "word multiply mismatch @"
|
||||
(void~) mul16u_error::$1 ← call print_word (word) mul16u_error::a
|
||||
@ -1862,8 +1940,8 @@ mul16u_error: scope:[mul16u_error] from
|
||||
mul16u_error::@return: scope:[mul16u_error] from mul16u_error
|
||||
return
|
||||
to:@return
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
mul16s_compare: scope:[mul16s_compare] from
|
||||
(signed word/signed dword~) mul16s_compare::$0 ← - (word/signed word/dword/signed dword) 32767
|
||||
(signed word) mul16s_compare::a ← (signed word/signed dword~) mul16s_compare::$0
|
||||
@ -1919,8 +1997,8 @@ mul16s_compare::@9: scope:[mul16s_compare] from mul16s_compare::@8
|
||||
(void~) mul16s_compare::$13 ← call print_str (string) "signed word multiply results match!@"
|
||||
(void~) mul16s_compare::$14 ← call print_ln
|
||||
to:mul16s_compare::@return
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
mul16s_error: scope:[mul16s_error] from
|
||||
(void~) mul16s_error::$0 ← call print_str (string) "signed word multiply mismatch @"
|
||||
(void~) mul16s_error::$1 ← call print_sword (signed word) mul16s_error::a
|
||||
@ -1935,13 +2013,14 @@ mul16s_error: scope:[mul16s_error] from
|
||||
mul16s_error::@return: scope:[mul16s_error] from mul16s_error
|
||||
return
|
||||
to:@return
|
||||
@24: scope:[] from @23
|
||||
@25: scope:[] from @24
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @24
|
||||
@end: scope:[] from @25
|
||||
|
||||
Removing unused procedure print_sbyte
|
||||
Removing unused procedure mul8s
|
||||
Removing unused procedure mul8su
|
||||
Removing unused procedure mulf8s
|
||||
Removing unused procedure mul8u
|
||||
Removing unused procedure mulf8u
|
||||
@ -2012,28 +2091,29 @@ Removing empty block @9
|
||||
Removing empty block @10
|
||||
Removing empty block @11
|
||||
Removing empty block @12
|
||||
Removing empty block @13
|
||||
Removing empty block mul16u::@5
|
||||
Removing empty block mul16u::@6
|
||||
Removing empty block mul16u::@8
|
||||
Removing empty block mul16u::@9
|
||||
Removing empty block @13
|
||||
Removing empty block @14
|
||||
Removing empty block mul16s::@5
|
||||
Removing empty block @15
|
||||
Removing empty block @16
|
||||
Removing empty block @18
|
||||
Removing empty block @17
|
||||
Removing empty block @19
|
||||
Removing empty block muls16u::@4
|
||||
Removing empty block muls16u::@5
|
||||
Removing empty block @19
|
||||
Removing empty block @20
|
||||
Removing empty block muls16s::@7
|
||||
Removing empty block muls16s::@8
|
||||
Removing empty block muls16s::@10
|
||||
Removing empty block muls16s::@11
|
||||
Removing empty block @20
|
||||
Removing empty block mul16u_compare::@7
|
||||
Removing empty block @21
|
||||
Removing empty block mul16u_compare::@7
|
||||
Removing empty block @22
|
||||
Removing empty block mul16s_compare::@7
|
||||
Removing empty block @23
|
||||
Removing empty block mul16s_compare::@7
|
||||
Removing empty block @24
|
||||
PROCEDURE MODIFY VARIABLE ANALYSIS
|
||||
print_str modifies char_cursor
|
||||
print_ln modifies line_cursor
|
||||
@ -2073,7 +2153,7 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@14
|
||||
to:@15
|
||||
print_str: scope:[print_str] from mul16s_compare::@9 mul16s_error mul16s_error::@2 mul16s_error::@4 mul16s_error::@6 mul16u_compare::@9 mul16u_error mul16u_error::@2 mul16u_error::@4 mul16u_error::@6
|
||||
(byte*) char_cursor#130 ← phi( mul16s_compare::@9/(byte*) char_cursor#127 mul16s_error/(byte*) char_cursor#128 mul16s_error::@2/(byte*) char_cursor#47 mul16s_error::@4/(byte*) char_cursor#49 mul16s_error::@6/(byte*) char_cursor#51 mul16u_compare::@9/(byte*) char_cursor#124 mul16u_error/(byte*) char_cursor#125 mul16u_error::@2/(byte*) char_cursor#33 mul16u_error::@4/(byte*) char_cursor#35 mul16u_error::@6/(byte*) char_cursor#37 )
|
||||
(byte*) print_str::str#13 ← phi( mul16s_compare::@9/(byte*) print_str::str#6 mul16s_error/(byte*) print_str::str#7 mul16s_error::@2/(byte*) print_str::str#8 mul16s_error::@4/(byte*) print_str::str#9 mul16s_error::@6/(byte*) print_str::str#10 mul16u_compare::@9/(byte*) print_str::str#1 mul16u_error/(byte*) print_str::str#2 mul16u_error::@2/(byte*) print_str::str#3 mul16u_error::@4/(byte*) print_str::str#4 mul16u_error::@6/(byte*) print_str::str#5 )
|
||||
@ -2401,14 +2481,14 @@ mul16s::@return: scope:[mul16s] from mul16s::@2
|
||||
(signed dword) mul16s::return#1 ← (signed dword) mul16s::return#3
|
||||
return
|
||||
to:@return
|
||||
@14: scope:[] from @begin
|
||||
@15: scope:[] from @begin
|
||||
(byte*) char_cursor#138 ← phi( @begin/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#56 ← phi( @begin/(byte*) line_cursor#0 )
|
||||
(byte[512]) mulf_sqr1_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr1_hi#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_hi#0 ← { fill( 512, 0) }
|
||||
to:@17
|
||||
to:@18
|
||||
mulf_init: scope:[mulf_init] from main::@1
|
||||
(word) mulf_init::sqr#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) mulf_init::x_2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -2506,15 +2586,15 @@ mulf_init::@8: scope:[mulf_init] from mulf_init::@4
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@8
|
||||
return
|
||||
to:@return
|
||||
@17: scope:[] from @14
|
||||
(byte*) char_cursor#137 ← phi( @14/(byte*) char_cursor#138 )
|
||||
(byte*) line_cursor#55 ← phi( @14/(byte*) line_cursor#56 )
|
||||
@18: scope:[] from @15
|
||||
(byte*) char_cursor#137 ← phi( @15/(byte*) char_cursor#138 )
|
||||
(byte*) line_cursor#55 ← phi( @15/(byte*) line_cursor#56 )
|
||||
(byte*) BGCOL#0 ← ((byte*)) (word/dword/signed dword) 53281
|
||||
to:@24
|
||||
main: scope:[main] from @24
|
||||
(byte*) char_cursor#121 ← phi( @24/(byte*) char_cursor#129 )
|
||||
(byte*) line_cursor#40 ← phi( @24/(byte*) line_cursor#48 )
|
||||
(byte*) BGCOL#1 ← phi( @24/(byte*) BGCOL#4 )
|
||||
to:@25
|
||||
main: scope:[main] from @25
|
||||
(byte*) char_cursor#121 ← phi( @25/(byte*) char_cursor#129 )
|
||||
(byte*) line_cursor#40 ← phi( @25/(byte*) line_cursor#48 )
|
||||
(byte*) BGCOL#1 ← phi( @25/(byte*) BGCOL#4 )
|
||||
*((byte*) BGCOL#1) ← (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
call print_cls param-assignment
|
||||
to:main::@1
|
||||
@ -3165,25 +3245,25 @@ mul16s_error::@return: scope:[mul16s_error] from mul16s_error::@9
|
||||
(byte*) line_cursor#18 ← (byte*) line_cursor#37
|
||||
return
|
||||
to:@return
|
||||
@24: scope:[] from @17
|
||||
(byte*) char_cursor#129 ← phi( @17/(byte*) char_cursor#137 )
|
||||
(byte*) line_cursor#48 ← phi( @17/(byte*) line_cursor#55 )
|
||||
(byte*) BGCOL#4 ← phi( @17/(byte*) BGCOL#0 )
|
||||
@25: scope:[] from @18
|
||||
(byte*) char_cursor#129 ← phi( @18/(byte*) char_cursor#137 )
|
||||
(byte*) line_cursor#48 ← phi( @18/(byte*) line_cursor#55 )
|
||||
(byte*) BGCOL#4 ← phi( @18/(byte*) BGCOL#0 )
|
||||
call main param-assignment
|
||||
to:@25
|
||||
@25: scope:[] from @24
|
||||
(byte*) char_cursor#111 ← phi( @24/(byte*) char_cursor#27 )
|
||||
(byte*) line_cursor#38 ← phi( @24/(byte*) line_cursor#8 )
|
||||
to:@26
|
||||
@26: scope:[] from @25
|
||||
(byte*) char_cursor#111 ← phi( @25/(byte*) char_cursor#27 )
|
||||
(byte*) line_cursor#38 ← phi( @25/(byte*) line_cursor#8 )
|
||||
(byte*) line_cursor#19 ← (byte*) line_cursor#38
|
||||
(byte*) char_cursor#56 ← (byte*) char_cursor#111
|
||||
to:@end
|
||||
@end: scope:[] from @25
|
||||
@end: scope:[] from @26
|
||||
|
||||
SYMBOL TABLE SSA
|
||||
(label) @14
|
||||
(label) @17
|
||||
(label) @24
|
||||
(label) @15
|
||||
(label) @18
|
||||
(label) @25
|
||||
(label) @26
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -4967,10 +5047,10 @@ Culled Empty Block (label) print_sdword::@3
|
||||
Culled Empty Block (label) print_byte::@2
|
||||
Culled Empty Block (label) print_cls::@2
|
||||
Culled Empty Block (label) mul16u::@3
|
||||
Culled Empty Block (label) @14
|
||||
Culled Empty Block (label) @15
|
||||
Culled Empty Block (label) mulf_init::@6
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mulf_init::@7
|
||||
Culled Empty Block (label) @17
|
||||
Culled Empty Block (label) @18
|
||||
Culled Empty Block (label) main::@4
|
||||
Culled Empty Block (label) muls16u::@3
|
||||
Culled Empty Block (label) muls16s::@6
|
||||
@ -4984,7 +5064,7 @@ Not culling empty block because it shares successor with its predecessor. (label
|
||||
Culled Empty Block (label) mul16s_compare::@12
|
||||
Culled Empty Block (label) mul16s_compare::@14
|
||||
Culled Empty Block (label) mul16s_error::@9
|
||||
Culled Empty Block (label) @25
|
||||
Culled Empty Block (label) @26
|
||||
Succesful SSA optimization Pass2CullEmptyBlocks
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mulf_init::@7
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mul16u_compare::@5
|
||||
@ -5269,7 +5349,7 @@ Constant inlined print_char::ch#1 = (byte) '-'
|
||||
Constant inlined print_char::ch#0 = (byte) '-'
|
||||
Constant inlined print_byte::$4 = (const string) print_byte::hextab#0
|
||||
Succesful SSA optimization Pass2ConstantInlining
|
||||
Block Sequence Planned @begin @24 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 muls16s muls16s::@2 muls16s::@3 muls16s::@return muls16s::@1 muls16s::@5 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@1 muls16u::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return print_cls print_cls::@1 print_cls::@return
|
||||
Block Sequence Planned @begin @25 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 muls16s muls16s::@2 muls16s::@3 muls16s::@return muls16s::@1 muls16s::@5 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@1 muls16u::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return print_cls print_cls::@1 print_cls::@return
|
||||
Added new block during phi lifting mul16s_compare::@15(between mul16s_compare::@8 and mul16s_compare::@1)
|
||||
Added new block during phi lifting mul16s_compare::@16(between mul16s_compare::@4 and mul16s_compare::@2)
|
||||
Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1)
|
||||
@ -5291,9 +5371,9 @@ Added new block during phi lifting mulf_init::@10(between mulf_init::@1 and mulf
|
||||
Added new block during phi lifting mulf_init::@11(between mulf_init::@4 and mulf_init::@3)
|
||||
Added new block during phi lifting mulf_init::@12(between mulf_init::@3 and mulf_init::@4)
|
||||
Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1)
|
||||
Block Sequence Planned @begin @24 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 mul16s_compare::@15 mul16s_compare::@16 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_sdword::@5 print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16s::@8 mul16s::@7 mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 muls16s muls16s::@2 muls16s::@13 muls16s::@3 muls16s::@return muls16s::@12 muls16s::@1 muls16s::@5 muls16s::@14 muls16s::@15 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_compare::@15 mul16u_compare::@16 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@7 muls16u::@1 muls16u::@return muls16u::@6 mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@11 mulf_init::@12 mulf_init::@9 mulf_init::@10 print_cls print_cls::@1 print_cls::@return print_cls::@3
|
||||
Block Sequence Planned @begin @25 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 mul16s_compare::@15 mul16s_compare::@16 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_sdword::@5 print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16s::@8 mul16s::@7 mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 muls16s muls16s::@2 muls16s::@13 muls16s::@3 muls16s::@return muls16s::@12 muls16s::@1 muls16s::@5 muls16s::@14 muls16s::@15 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_compare::@15 mul16u_compare::@16 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@7 muls16u::@1 muls16u::@return muls16u::@6 mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@11 mulf_init::@12 mulf_init::@9 mulf_init::@10 print_cls print_cls::@1 print_cls::@return print_cls::@3
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @24
|
||||
Adding NOP phi() at start of @25
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main::@1
|
||||
Adding NOP phi() at start of main::@2
|
||||
@ -5486,9 +5566,9 @@ Not culling empty block because it shares successor with its predecessor. (label
|
||||
Culled Empty Block (label) mulf_init::@9
|
||||
Culled Empty Block (label) mulf_init::@10
|
||||
Culled Empty Block (label) print_cls::@3
|
||||
Block Sequence Planned @begin @24 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 muls16s muls16s::@2 muls16s::@3 muls16s::@return muls16s::@1 muls16s::@5 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@1 muls16u::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@12 print_cls print_cls::@1 print_cls::@return
|
||||
Block Sequence Planned @begin @25 @end main main::@1 main::@2 main::@3 main::@return mul16s_compare mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@10 mul16s_compare::@11 mul16s_compare::@5 mul16s_compare::@3 mul16s_compare::@6 mul16s_compare::@return mul16s_compare::@4 mul16s_compare::@8 mul16s_compare::@9 mul16s_compare::@13 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul16s_error mul16s_error::@1 mul16s_error::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@5 mul16s_error::@6 mul16s_error::@7 mul16s_error::@8 mul16s_error::@return print_sdword print_sdword::@2 print_sdword::@4 print_sdword::@1 print_sdword::@return print_dword print_dword::@1 print_dword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return mul16s mul16s::@6 mul16s::@3 mul16s::@1 mul16s::@4 mul16s::@2 mul16s::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 muls16s muls16s::@2 muls16s::@3 muls16s::@return muls16s::@1 muls16s::@5 mul16u_compare mul16u_compare::@1 mul16u_compare::@2 mul16u_compare::@10 mul16u_compare::@11 mul16u_compare::@5 mul16u_compare::@3 mul16u_compare::@6 mul16u_compare::@return mul16u_compare::@4 mul16u_compare::@8 mul16u_compare::@9 mul16u_compare::@13 mul16u_error mul16u_error::@1 mul16u_error::@2 mul16u_error::@3 mul16u_error::@4 mul16u_error::@5 mul16u_error::@6 mul16u_error::@7 mul16u_error::@8 mul16u_error::@return muls16u muls16u::@2 muls16u::@1 muls16u::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@12 print_cls print_cls::@1 print_cls::@return
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @24
|
||||
Adding NOP phi() at start of @25
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main::@1
|
||||
Adding NOP phi() at start of main::@2
|
||||
@ -5545,14 +5625,14 @@ Propagating live ranges...
|
||||
FINAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@24
|
||||
@24: scope:[] from @begin
|
||||
to:@25
|
||||
@25: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @24
|
||||
@end: scope:[] from @25
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @24
|
||||
main: scope:[main] from @25
|
||||
[4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
@ -6065,122 +6145,122 @@ print_cls::@return: scope:[print_cls] from print_cls::@1
|
||||
|
||||
DOMINATORS
|
||||
@begin dominated by @begin
|
||||
@24 dominated by @24 @begin
|
||||
@end dominated by @24 @end @begin
|
||||
main dominated by @24 main @begin
|
||||
main::@1 dominated by main::@1 @24 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 @24 main @begin
|
||||
main::@3 dominated by main::@1 main::@2 main::@3 @24 main @begin
|
||||
main::@return dominated by main::@1 main::@2 main::@3 main::@return @24 main @begin
|
||||
mul16s_compare dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main @begin
|
||||
mul16s_compare::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main @begin mul16s_compare::@1
|
||||
mul16s_compare::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@10 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@11 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@5
|
||||
mul16s_compare::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2
|
||||
mul16s_compare::@6 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6
|
||||
mul16s_compare::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@return
|
||||
mul16s_compare::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@8 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@9 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @24 main @begin mul16s_compare::@9 mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@13 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@13 mul16s_compare::@11 @24 main @begin mul16s_compare::@9 mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
print_ln dominated by main::@1 main::@2 print_ln @24 main @begin
|
||||
print_ln::@1 dominated by main::@1 main::@2 print_ln print_ln::@1 @24 main @begin
|
||||
print_ln::@return dominated by print_ln::@return main::@1 main::@2 print_ln print_ln::@1 @24 main @begin
|
||||
print_str dominated by main::@1 main::@2 print_str @24 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@2 print_str::@1 print_str @24 main @begin
|
||||
print_str::@return dominated by main::@1 main::@2 print_str::@return print_str::@1 print_str @24 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@2 print_str::@1 print_str::@2 print_str @24 main @begin
|
||||
mul16s_error dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6
|
||||
mul16s_error::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
mul16s_error::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
mul16s_error::@6 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@7 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@8 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@8 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@return mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@8 mul16s_error::@5 mul16s_error::@6
|
||||
print_sdword dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@2 print_sdword::@4 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@1 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @24 main print_sdword::@return @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@1 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_dword dominated by main::@1 main::@2 @24 main @begin print_dword
|
||||
print_dword::@1 dominated by main::@1 main::@2 @24 main print_dword::@1 @begin print_dword
|
||||
print_dword::@return dominated by main::@1 main::@2 @24 main print_dword::@1 @begin print_dword::@return print_dword
|
||||
print_word dominated by print_word main::@1 main::@2 @24 main @begin
|
||||
print_word::@1 dominated by print_word main::@1 main::@2 print_word::@1 @24 main @begin
|
||||
print_word::@return dominated by print_word main::@1 main::@2 print_word::@return print_word::@1 @24 main @begin
|
||||
print_byte dominated by print_word main::@1 main::@2 print_byte @24 main @begin
|
||||
print_byte::@1 dominated by print_word main::@1 main::@2 print_byte::@1 print_byte @24 main @begin
|
||||
print_byte::@return dominated by print_word main::@1 main::@2 print_byte::@1 print_byte @24 main @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 @24 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 @24 main print_char print_char::@return @begin
|
||||
print_sword dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @24 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @24 print_sword::@2 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @24 print_sword::@2 print_sword::@4 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @24 print_sword::@1 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @24 print_sword::@1 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sword::@return mul16s_error::@1
|
||||
mul16s dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s::@6 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6
|
||||
mul16s::@3 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@3
|
||||
mul16s::@1 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1
|
||||
mul16s::@4 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@4
|
||||
mul16s::@2 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@2
|
||||
mul16s::@return dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s::@return @24 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@2
|
||||
mul16u dominated by mul16u main::@1 main::@2 @24 main @begin
|
||||
mul16u::@1 dominated by mul16u main::@1 main::@2 @24 main mul16u::@1 @begin
|
||||
mul16u::@return dominated by mul16u main::@1 main::@2 mul16u::@return @24 main mul16u::@1 @begin
|
||||
mul16u::@2 dominated by mul16u main::@1 main::@2 @24 main mul16u::@1 mul16u::@2 @begin
|
||||
mul16u::@7 dominated by mul16u main::@1 main::@2 @24 main mul16u::@1 mul16u::@2 @begin mul16u::@7
|
||||
mul16u::@4 dominated by mul16u main::@1 main::@2 @24 main mul16u::@1 mul16u::@2 @begin mul16u::@4
|
||||
muls16s dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main muls16s @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main muls16s muls16s::@2 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main muls16s muls16s::@3 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@return dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main muls16s muls16s::@3 @begin mul16s_compare::@1 mul16s_compare::@2 muls16s::@return
|
||||
muls16s::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 main muls16s muls16s::@1 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare @24 muls16s::@5 main muls16s muls16s::@1 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16u_compare dominated by main::@1 main::@2 mul16u_compare @24 main @begin
|
||||
mul16u_compare::@1 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@1
|
||||
mul16u_compare::@2 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@10 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@10 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@11 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@5 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@5 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@3 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@6 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@return dominated by main::@1 main::@2 mul16u_compare::@return mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@4 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@8 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@9 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@9 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@13 dominated by main::@1 main::@2 mul16u_compare @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@13 mul16u_compare::@9 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@1 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@2 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@3 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@4 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@5 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@6 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@7 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@8 dominated by main::@1 main::@2 mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@8 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@return dominated by main::@1 main::@2 mul16u_error::@return mul16u_compare mul16u_error @24 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@8 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u dominated by main::@1 main::@2 mul16u_compare @24 main @begin muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@2 dominated by main::@1 main::@2 mul16u_compare @24 main @begin muls16u::@2 muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@1 dominated by main::@1 main::@2 mul16u_compare @24 main @begin muls16u::@1 muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@return dominated by main::@1 main::@2 mul16u_compare @24 main @begin muls16u::@1 muls16u mul16u_compare::@2 mul16u_compare::@1 muls16u::@return
|
||||
mulf_init dominated by main::@1 @24 main @begin mulf_init
|
||||
mulf_init::@1 dominated by main::@1 @24 main @begin mulf_init mulf_init::@1
|
||||
mulf_init::@5 dominated by main::@1 @24 main @begin mulf_init mulf_init::@1 mulf_init::@5
|
||||
mulf_init::@2 dominated by main::@1 @24 main @begin mulf_init mulf_init::@2 mulf_init::@1
|
||||
mulf_init::@3 dominated by main::@1 @24 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
mulf_init::@4 dominated by main::@1 @24 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3
|
||||
mulf_init::@8 dominated by main::@1 @24 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@return dominated by main::@1 mulf_init::@return @24 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@12 dominated by mulf_init::@12 main::@1 @24 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
print_cls dominated by print_cls @24 main @begin
|
||||
print_cls::@1 dominated by print_cls @24 main @begin print_cls::@1
|
||||
print_cls::@return dominated by print_cls @24 main @begin print_cls::@return print_cls::@1
|
||||
@25 dominated by @25 @begin
|
||||
@end dominated by @25 @end @begin
|
||||
main dominated by @25 main @begin
|
||||
main::@1 dominated by main::@1 @25 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 @25 main @begin
|
||||
main::@3 dominated by main::@1 main::@2 main::@3 @25 main @begin
|
||||
main::@return dominated by main::@1 main::@2 main::@3 main::@return @25 main @begin
|
||||
mul16s_compare dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main @begin
|
||||
mul16s_compare::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main @begin mul16s_compare::@1
|
||||
mul16s_compare::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@10 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@11 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s_compare::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s_compare::@5
|
||||
mul16s_compare::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2
|
||||
mul16s_compare::@6 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6
|
||||
mul16s_compare::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@return
|
||||
mul16s_compare::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@8 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@9 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 @25 main @begin mul16s_compare::@9 mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
mul16s_compare::@13 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@13 mul16s_compare::@11 @25 main @begin mul16s_compare::@9 mul16s_compare::@8 mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@4
|
||||
print_ln dominated by main::@1 main::@2 print_ln @25 main @begin
|
||||
print_ln::@1 dominated by main::@1 main::@2 print_ln print_ln::@1 @25 main @begin
|
||||
print_ln::@return dominated by print_ln::@return main::@1 main::@2 print_ln print_ln::@1 @25 main @begin
|
||||
print_str dominated by main::@1 main::@2 print_str @25 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@2 print_str::@1 print_str @25 main @begin
|
||||
print_str::@return dominated by main::@1 main::@2 print_str::@return print_str::@1 print_str @25 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@2 print_str::@1 print_str::@2 print_str @25 main @begin
|
||||
mul16s_error dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6
|
||||
mul16s_error::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
mul16s_error::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2
|
||||
mul16s_error::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
mul16s_error::@6 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@7 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@8 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@8 mul16s_error::@5 mul16s_error::@6
|
||||
mul16s_error::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@return mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@7 mul16s_error::@8 mul16s_error::@5 mul16s_error::@6
|
||||
print_sdword dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@2 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@2 print_sdword::@4 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@1 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_sdword::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 print_sdword mul16s_compare mul16s_compare::@11 mul16s_error @25 main print_sdword::@return @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sdword::@1 mul16s_error::@3 mul16s_error::@4 mul16s_error::@1 mul16s_error::@2 mul16s_error::@5
|
||||
print_dword dominated by main::@1 main::@2 @25 main @begin print_dword
|
||||
print_dword::@1 dominated by main::@1 main::@2 @25 main print_dword::@1 @begin print_dword
|
||||
print_dword::@return dominated by main::@1 main::@2 @25 main print_dword::@1 @begin print_dword::@return print_dword
|
||||
print_word dominated by print_word main::@1 main::@2 @25 main @begin
|
||||
print_word::@1 dominated by print_word main::@1 main::@2 print_word::@1 @25 main @begin
|
||||
print_word::@return dominated by print_word main::@1 main::@2 print_word::@return print_word::@1 @25 main @begin
|
||||
print_byte dominated by print_word main::@1 main::@2 print_byte @25 main @begin
|
||||
print_byte::@1 dominated by print_word main::@1 main::@2 print_byte::@1 print_byte @25 main @begin
|
||||
print_byte::@return dominated by print_word main::@1 main::@2 print_byte::@1 print_byte @25 main @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 @25 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 @25 main print_char print_char::@return @begin
|
||||
print_sword dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @25 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @25 print_sword::@2 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@4 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @25 print_sword::@2 print_sword::@4 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @25 print_sword::@1 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 mul16s_error::@1
|
||||
print_sword::@return dominated by main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s_compare::@11 mul16s_error print_sword @25 print_sword::@1 main @begin mul16s_compare::@1 mul16s_compare::@3 mul16s_compare::@2 mul16s_compare::@6 print_sword::@return mul16s_error::@1
|
||||
mul16s dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16s::@6 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6
|
||||
mul16s::@3 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@3
|
||||
mul16s::@1 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1
|
||||
mul16s::@4 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@4
|
||||
mul16s::@2 dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@2
|
||||
mul16s::@return dominated by mul16s main::@1 main::@2 main::@3 mul16s_compare::@10 mul16s_compare mul16s::@return @25 main @begin mul16s_compare::@1 mul16s_compare::@2 mul16s::@6 mul16s::@1 mul16s::@2
|
||||
mul16u dominated by mul16u main::@1 main::@2 @25 main @begin
|
||||
mul16u::@1 dominated by mul16u main::@1 main::@2 @25 main mul16u::@1 @begin
|
||||
mul16u::@return dominated by mul16u main::@1 main::@2 mul16u::@return @25 main mul16u::@1 @begin
|
||||
mul16u::@2 dominated by mul16u main::@1 main::@2 @25 main mul16u::@1 mul16u::@2 @begin
|
||||
mul16u::@7 dominated by mul16u main::@1 main::@2 @25 main mul16u::@1 mul16u::@2 @begin mul16u::@7
|
||||
mul16u::@4 dominated by mul16u main::@1 main::@2 @25 main mul16u::@1 mul16u::@2 @begin mul16u::@4
|
||||
muls16s dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main muls16s @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@2 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main muls16s muls16s::@2 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@3 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main muls16s muls16s::@3 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@return dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main muls16s muls16s::@3 @begin mul16s_compare::@1 mul16s_compare::@2 muls16s::@return
|
||||
muls16s::@1 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 main muls16s muls16s::@1 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
muls16s::@5 dominated by main::@1 main::@2 main::@3 mul16s_compare @25 muls16s::@5 main muls16s muls16s::@1 @begin mul16s_compare::@1 mul16s_compare::@2
|
||||
mul16u_compare dominated by main::@1 main::@2 mul16u_compare @25 main @begin
|
||||
mul16u_compare::@1 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@1
|
||||
mul16u_compare::@2 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@10 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@10 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@11 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@5 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@5 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@3 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@6 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@return dominated by main::@1 main::@2 mul16u_compare::@return mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@4 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@8 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@9 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@9 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_compare::@13 dominated by main::@1 main::@2 mul16u_compare @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@13 mul16u_compare::@9 mul16u_compare::@8 mul16u_compare::@4 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@1 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@2 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@3 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@4 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@5 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@6 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@7 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@8 dominated by main::@1 main::@2 mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@8 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
mul16u_error::@return dominated by main::@1 main::@2 mul16u_error::@return mul16u_compare mul16u_error @25 main @begin mul16u_compare::@11 mul16u_compare::@10 mul16u_error::@8 mul16u_error::@7 mul16u_error::@6 mul16u_error::@5 mul16u_error::@4 mul16u_compare::@6 mul16u_error::@3 mul16u_error::@2 mul16u_error::@1 mul16u_compare::@3 mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u dominated by main::@1 main::@2 mul16u_compare @25 main @begin muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@2 dominated by main::@1 main::@2 mul16u_compare @25 main @begin muls16u::@2 muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@1 dominated by main::@1 main::@2 mul16u_compare @25 main @begin muls16u::@1 muls16u mul16u_compare::@2 mul16u_compare::@1
|
||||
muls16u::@return dominated by main::@1 main::@2 mul16u_compare @25 main @begin muls16u::@1 muls16u mul16u_compare::@2 mul16u_compare::@1 muls16u::@return
|
||||
mulf_init dominated by main::@1 @25 main @begin mulf_init
|
||||
mulf_init::@1 dominated by main::@1 @25 main @begin mulf_init mulf_init::@1
|
||||
mulf_init::@5 dominated by main::@1 @25 main @begin mulf_init mulf_init::@1 mulf_init::@5
|
||||
mulf_init::@2 dominated by main::@1 @25 main @begin mulf_init mulf_init::@2 mulf_init::@1
|
||||
mulf_init::@3 dominated by main::@1 @25 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
mulf_init::@4 dominated by main::@1 @25 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3
|
||||
mulf_init::@8 dominated by main::@1 @25 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@return dominated by main::@1 mulf_init::@return @25 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@12 dominated by mulf_init::@12 main::@1 @25 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
print_cls dominated by print_cls @25 main @begin
|
||||
print_cls::@1 dominated by print_cls @25 main @begin print_cls::@1
|
||||
print_cls::@return dominated by print_cls @25 main @begin print_cls::@return print_cls::@1
|
||||
|
||||
NATURAL LOOPS
|
||||
Found back edge: Loop head: mul16s_compare::@2 tails: mul16s_compare::@4 blocks: null
|
||||
@ -6752,15 +6832,15 @@ INITIAL ASM
|
||||
.label line_cursor = 9
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @24 [phi:@begin->@24]
|
||||
b24_from_bbegin:
|
||||
jmp b24
|
||||
//SEG4 @24
|
||||
b24:
|
||||
//SEG3 [1] phi from @begin to @25 [phi:@begin->@25]
|
||||
b25_from_bbegin:
|
||||
jmp b25
|
||||
//SEG4 @25
|
||||
b25:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @24 to @end [phi:@24->@end]
|
||||
bend_from_b24:
|
||||
//SEG6 [3] phi from @25 to @end [phi:@25->@end]
|
||||
bend_from_b25:
|
||||
jmp bend
|
||||
//SEG7 @end
|
||||
bend:
|
||||
@ -9080,15 +9160,15 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.label line_cursor = 6
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @24 [phi:@begin->@24]
|
||||
b24_from_bbegin:
|
||||
jmp b24
|
||||
//SEG4 @24
|
||||
b24:
|
||||
//SEG3 [1] phi from @begin to @25 [phi:@begin->@25]
|
||||
b25_from_bbegin:
|
||||
jmp b25
|
||||
//SEG4 @25
|
||||
b25:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @24 to @end [phi:@24->@end]
|
||||
bend_from_b24:
|
||||
//SEG6 [3] phi from @25 to @end [phi:@25->@end]
|
||||
bend_from_b25:
|
||||
jmp bend
|
||||
//SEG7 @end
|
||||
bend:
|
||||
@ -10784,7 +10864,7 @@ print_cls: {
|
||||
mulf_sqr2_hi: .fill $200, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b24
|
||||
Removing instruction jmp b25
|
||||
Removing instruction jmp bend
|
||||
Removing instruction jmp b1
|
||||
Removing instruction jmp b2
|
||||
@ -10926,8 +11006,8 @@ Replacing label b3_from_b4 with b3
|
||||
Replacing label b1_from_b1 with b1
|
||||
Replacing label b1_from_b1 with b1
|
||||
Removing instruction bbegin:
|
||||
Removing instruction b24_from_bbegin:
|
||||
Removing instruction bend_from_b24:
|
||||
Removing instruction b25_from_bbegin:
|
||||
Removing instruction bend_from_b25:
|
||||
Removing instruction b1_from_main:
|
||||
Removing instruction mulf_init_from_b1:
|
||||
Removing instruction b2_from_b1:
|
||||
@ -11000,7 +11080,7 @@ Removing instruction b12_from_b3:
|
||||
Removing instruction b4_from_b12:
|
||||
Removing instruction b1_from_b1:
|
||||
Succesful ASM optimization Pass5RedundantLabelElimination
|
||||
Removing instruction b24:
|
||||
Removing instruction b25:
|
||||
Removing instruction bend:
|
||||
Removing instruction print_cls_from_main:
|
||||
Removing instruction b1:
|
||||
@ -11126,7 +11206,7 @@ Removing unreachable instruction jmp b4
|
||||
Succesful ASM optimization Pass5UnreachableCodeElimination
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @24
|
||||
(label) @25
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -11527,11 +11607,11 @@ Score: 431398
|
||||
.label char_cursor = $e
|
||||
.label line_cursor = 6
|
||||
//SEG2 @begin
|
||||
//SEG3 [1] phi from @begin to @24 [phi:@begin->@24]
|
||||
//SEG4 @24
|
||||
//SEG3 [1] phi from @begin to @25 [phi:@begin->@25]
|
||||
//SEG4 @25
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @24 to @end [phi:@24->@end]
|
||||
//SEG6 [3] phi from @25 to @end [phi:@25->@end]
|
||||
//SEG7 @end
|
||||
//SEG8 main
|
||||
main: {
|
||||
|
@ -1,4 +1,4 @@
|
||||
(label) @24
|
||||
(label) @25
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@26
|
||||
@26: scope:[] from @begin
|
||||
to:@27
|
||||
@27: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @26
|
||||
@end: scope:[] from @27
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @26
|
||||
main: scope:[main] from @27
|
||||
[4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
|
@ -323,6 +323,16 @@ signed word mul8s(signed byte a, signed byte b) {
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Multiply a signed byte and an unsigned byte (into a signed word)
|
||||
// Fixes offsets introduced by using unsigned multiplication
|
||||
signed word mul8su(signed byte a, byte b) {
|
||||
word m = mul8u((byte)a, (byte) b);
|
||||
if(a<0) {
|
||||
>m = (>m)-(byte)b;
|
||||
}
|
||||
return (signed word)m;
|
||||
}
|
||||
|
||||
// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word
|
||||
dword mul16u(word a, word b) {
|
||||
dword res = 0;
|
||||
@ -625,6 +635,27 @@ mul8s::@return:
|
||||
(signed word) mul8s::return ← (signed word) mul8s::return
|
||||
return (signed word) mul8s::return
|
||||
endproc // mul8s()
|
||||
proc (signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
lval((byte~) mul8su::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
mul8su::@1:
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
goto mul8su::@return
|
||||
mul8su::@return:
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
endproc // mul8su()
|
||||
proc (dword()) mul16u((word) mul16u::a , (word) mul16u::b)
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← (word) mul16u::b
|
||||
@ -1134,6 +1165,23 @@ SYMBOLS
|
||||
(signed word) mul8s_error::mf
|
||||
(signed word) mul8s_error::mn
|
||||
(signed word) mul8s_error::ms
|
||||
(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b)
|
||||
(byte~) mul8su::$0
|
||||
(byte~) mul8su::$1
|
||||
(word~) mul8su::$2
|
||||
(boolean~) mul8su::$3
|
||||
(boolean~) mul8su::$4
|
||||
(byte~) mul8su::$5
|
||||
(byte~) mul8su::$6
|
||||
(byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(signed word~) mul8su::$9
|
||||
(label) mul8su::@1
|
||||
(label) mul8su::@return
|
||||
(signed byte) mul8su::a
|
||||
(byte) mul8su::b
|
||||
(word) mul8su::m
|
||||
(signed word) mul8su::return
|
||||
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||
(boolean~) mul8u::$0
|
||||
(byte~) mul8u::$1
|
||||
@ -1404,6 +1452,7 @@ SYMBOLS
|
||||
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$16 mul8s::$16 ← mul8s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8s::$17 mul8s::$17 ← mul8s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mul8su::$10 mul8su::$10 ← mul8su::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$16 mul16s::$16 ← mul16s::$8
|
||||
Fixing lo/hi-lvalue with new tmpVar mul16s::$17 mul16s::$17 ← mul16s::$14
|
||||
Fixing lo/hi-lvalue with new tmpVar mulf8s::$16 mulf8s::$16 ← mulf8s::$8
|
||||
@ -1663,6 +1712,35 @@ mul8s::@5: scope:[mul8s] from
|
||||
to:mul8s::@return
|
||||
@12: scope:[] from @11
|
||||
to:@13
|
||||
mul8su: scope:[mul8su] from
|
||||
(byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a
|
||||
(byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b
|
||||
(word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1
|
||||
(word) mul8su::m ← (word~) mul8su::$2
|
||||
(boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3
|
||||
if((boolean~) mul8su::$4) goto mul8su::@1
|
||||
to:mul8su::@2
|
||||
mul8su::@1: scope:[mul8su] from mul8su mul8su::@2
|
||||
(signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m
|
||||
(signed word) mul8su::return ← (signed word~) mul8su::$9
|
||||
to:mul8su::@return
|
||||
mul8su::@2: scope:[mul8su] from mul8su
|
||||
(byte~) mul8su::$5 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$6 ← > (word) mul8su::m
|
||||
(byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7
|
||||
(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8
|
||||
(word) mul8su::m ← (word) mul8su::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10
|
||||
to:mul8su::@1
|
||||
mul8su::@return: scope:[mul8su] from mul8su::@1 mul8su::@3
|
||||
(signed word) mul8su::return ← (signed word) mul8su::return
|
||||
return (signed word) mul8su::return
|
||||
to:@return
|
||||
mul8su::@3: scope:[mul8su] from
|
||||
to:mul8su::@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
mul16u: scope:[mul16u] from
|
||||
(dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) mul16u::mb ← ((dword)) (word) mul16u::b
|
||||
@ -1702,8 +1780,8 @@ mul16u::@return: scope:[mul16u] from mul16u::@3 mul16u::@9
|
||||
to:@return
|
||||
mul16u::@9: scope:[mul16u] from
|
||||
to:mul16u::@return
|
||||
@13: scope:[] from @12
|
||||
to:@14
|
||||
@14: scope:[] from @13
|
||||
to:@15
|
||||
mul16s: scope:[mul16s] from
|
||||
(word~) mul16s::$0 ← ((word)) (signed word) mul16s::a
|
||||
(word~) mul16s::$1 ← ((word)) (signed word) mul16s::b
|
||||
@ -1744,12 +1822,12 @@ mul16s::@return: scope:[mul16s] from mul16s::@2 mul16s::@5
|
||||
to:@return
|
||||
mul16s::@5: scope:[mul16s] from
|
||||
to:mul16s::@return
|
||||
@14: scope:[] from @13
|
||||
@15: scope:[] from @14
|
||||
(byte[512]) mulf_sqr1_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr1_hi ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_hi ← { fill( 512, 0) }
|
||||
to:@15
|
||||
to:@16
|
||||
mulf_init: scope:[mulf_init] from
|
||||
(word) mulf_init::sqr ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) mulf_init::x_2 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1821,8 +1899,8 @@ mulf_init::@8: scope:[mulf_init] from mulf_init::@4
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@8
|
||||
return
|
||||
to:@return
|
||||
@15: scope:[] from @14
|
||||
to:@16
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
mulf8u: scope:[mulf8u] from
|
||||
(byte*) mulf8u::memA ← ((byte*)) (byte/word/signed word/dword/signed dword) 254
|
||||
(byte*) mulf8u::memB ← ((byte*)) (byte/word/signed word/dword/signed dword) 255
|
||||
@ -1837,8 +1915,8 @@ mulf8u::@return: scope:[mulf8u] from mulf8u mulf8u::@1
|
||||
to:@return
|
||||
mulf8u::@1: scope:[mulf8u] from
|
||||
to:mulf8u::@return
|
||||
@16: scope:[] from @15
|
||||
to:@17
|
||||
@17: scope:[] from @16
|
||||
to:@18
|
||||
mulf8s: scope:[mulf8s] from
|
||||
(byte~) mulf8s::$0 ← ((byte)) (signed byte) mulf8s::a
|
||||
(byte~) mulf8s::$1 ← ((byte)) (signed byte) mulf8s::b
|
||||
@ -1879,9 +1957,9 @@ mulf8s::@return: scope:[mulf8s] from mulf8s::@2 mulf8s::@5
|
||||
to:@return
|
||||
mulf8s::@5: scope:[mulf8s] from
|
||||
to:mulf8s::@return
|
||||
@17: scope:[] from @16
|
||||
@18: scope:[] from @17
|
||||
(byte*) BGCOL ← ((byte*)) (word/dword/signed dword) 53281
|
||||
to:@18
|
||||
to:@19
|
||||
main: scope:[main] from
|
||||
*((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(void~) main::$0 ← call print_cls
|
||||
@ -1894,8 +1972,8 @@ main: scope:[main] from
|
||||
main::@return: scope:[main] from main
|
||||
return
|
||||
to:@return
|
||||
@18: scope:[] from @17
|
||||
to:@19
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
muls8u: scope:[muls8u] from
|
||||
(word) muls8u::m ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) muls8u::$0 ← (byte) muls8u::a != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1923,8 +2001,8 @@ muls8u::@return: scope:[muls8u] from muls8u::@1 muls8u::@5
|
||||
to:@return
|
||||
muls8u::@5: scope:[muls8u] from
|
||||
to:muls8u::@return
|
||||
@19: scope:[] from @18
|
||||
to:@20
|
||||
@20: scope:[] from @19
|
||||
to:@21
|
||||
muls8s: scope:[muls8s] from
|
||||
(signed word) muls8s::m ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(boolean~) muls8s::$0 ← (signed byte) muls8s::a < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -1973,12 +2051,12 @@ muls8s::@return: scope:[muls8s] from muls8s::@11 muls8s::@3
|
||||
to:@return
|
||||
muls8s::@11: scope:[muls8s] from
|
||||
to:muls8s::@return
|
||||
@20: scope:[] from @19
|
||||
@21: scope:[] from @20
|
||||
(byte[512]) mula_sqr1_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr1_hi ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr2_lo ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr2_hi ← { fill( 512, 0) }
|
||||
to:@21
|
||||
to:@22
|
||||
mulf_init_asm: scope:[mulf_init_asm] from
|
||||
asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: stamula_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: stamula_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldamula_sqr1_hi+1,x stamula_sqr2_hi+$100,x ldamula_sqr1_hi,x stamula_sqr2_hi,y ldamula_sqr1_lo+1,x stamula_sqr2_lo+$100,x ldamula_sqr1_lo,x stamula_sqr2_lo,y dey inx bne!- }
|
||||
(byte*) mulf_init_asm::mem ← ((byte*)) (byte/word/signed word/dword/signed dword) 255
|
||||
@ -1990,8 +2068,8 @@ mulf_init_asm: scope:[mulf_init_asm] from
|
||||
mulf_init_asm::@return: scope:[mulf_init_asm] from mulf_init_asm
|
||||
return
|
||||
to:@return
|
||||
@21: scope:[] from @20
|
||||
to:@22
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
mulf_tables_cmp: scope:[mulf_tables_cmp] from
|
||||
(byte*) mulf_tables_cmp::asm_sqr ← (byte[512]) mula_sqr1_lo
|
||||
(byte*) mulf_tables_cmp::kc_sqr ← (byte[512]) mulf_sqr1_lo
|
||||
@ -2027,8 +2105,8 @@ mulf_tables_cmp::@5: scope:[mulf_tables_cmp] from mulf_tables_cmp::@2
|
||||
(void~) mulf_tables_cmp::$11 ← call print_str (string) "multiply tables match!@"
|
||||
(void~) mulf_tables_cmp::$12 ← call print_ln
|
||||
to:mulf_tables_cmp::@return
|
||||
@22: scope:[] from @21
|
||||
to:@23
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
mul8u_compare: scope:[mul8u_compare] from
|
||||
(byte) mul8u_compare::a ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
to:mul8u_compare::@1
|
||||
@ -2086,8 +2164,8 @@ mul8u_compare::@11: scope:[mul8u_compare] from mul8u_compare::@10
|
||||
(void~) mul8u_compare::$12 ← call print_str (string) "multiply results match!@"
|
||||
(void~) mul8u_compare::$13 ← call print_ln
|
||||
to:mul8u_compare::@return
|
||||
@23: scope:[] from @22
|
||||
to:@24
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
mul8u_error: scope:[mul8u_error] from
|
||||
(void~) mul8u_error::$0 ← call print_str (string) "multiply mismatch @"
|
||||
(void~) mul8u_error::$1 ← call print_byte (byte) mul8u_error::a
|
||||
@ -2104,8 +2182,8 @@ mul8u_error: scope:[mul8u_error] from
|
||||
mul8u_error::@return: scope:[mul8u_error] from mul8u_error
|
||||
return
|
||||
to:@return
|
||||
@24: scope:[] from @23
|
||||
to:@25
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
mul8s_compare: scope:[mul8s_compare] from
|
||||
(signed byte/signed word/signed dword~) mul8s_compare::$0 ← - (byte/word/signed word/dword/signed dword) 128
|
||||
(signed byte) mul8s_compare::a ← (signed byte/signed word/signed dword~) mul8s_compare::$0
|
||||
@ -2167,8 +2245,8 @@ mul8s_compare::@11: scope:[mul8s_compare] from mul8s_compare::@10
|
||||
(void~) mul8s_compare::$16 ← call print_str (string) "signed multiply results match!@"
|
||||
(void~) mul8s_compare::$17 ← call print_ln
|
||||
to:mul8s_compare::@return
|
||||
@25: scope:[] from @24
|
||||
to:@26
|
||||
@26: scope:[] from @25
|
||||
to:@27
|
||||
mul8s_error: scope:[mul8s_error] from
|
||||
(void~) mul8s_error::$0 ← call print_str (string) "signed multiply mismatch @"
|
||||
(void~) mul8s_error::$1 ← call print_sbyte (signed byte) mul8s_error::a
|
||||
@ -2185,12 +2263,13 @@ mul8s_error: scope:[mul8s_error] from
|
||||
mul8s_error::@return: scope:[mul8s_error] from mul8s_error
|
||||
return
|
||||
to:@return
|
||||
@26: scope:[] from @25
|
||||
@27: scope:[] from @26
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @26
|
||||
@end: scope:[] from @27
|
||||
|
||||
Removing unused procedure print_sdword
|
||||
Removing unused procedure mul8su
|
||||
Removing unused procedure mul16s
|
||||
Removing unused procedure print_dword
|
||||
Removing unused procedure mul16u
|
||||
@ -2284,26 +2363,27 @@ Removing empty block @11
|
||||
Removing empty block mul8s::@5
|
||||
Removing empty block @12
|
||||
Removing empty block @13
|
||||
Removing empty block @15
|
||||
Removing empty block mulf8u::@1
|
||||
Removing empty block @14
|
||||
Removing empty block @16
|
||||
Removing empty block mulf8u::@1
|
||||
Removing empty block @17
|
||||
Removing empty block mulf8s::@5
|
||||
Removing empty block @18
|
||||
Removing empty block @19
|
||||
Removing empty block muls8u::@4
|
||||
Removing empty block muls8u::@5
|
||||
Removing empty block @19
|
||||
Removing empty block @20
|
||||
Removing empty block muls8s::@7
|
||||
Removing empty block muls8s::@8
|
||||
Removing empty block muls8s::@10
|
||||
Removing empty block muls8s::@11
|
||||
Removing empty block @21
|
||||
Removing empty block mulf_tables_cmp::@4
|
||||
Removing empty block @22
|
||||
Removing empty block mul8u_compare::@9
|
||||
Removing empty block mulf_tables_cmp::@4
|
||||
Removing empty block @23
|
||||
Removing empty block mul8u_compare::@9
|
||||
Removing empty block @24
|
||||
Removing empty block mul8s_compare::@9
|
||||
Removing empty block @25
|
||||
Removing empty block mul8s_compare::@9
|
||||
Removing empty block @26
|
||||
PROCEDURE MODIFY VARIABLE ANALYSIS
|
||||
print_str modifies char_cursor
|
||||
print_ln modifies line_cursor
|
||||
@ -2346,7 +2426,7 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN
|
||||
(byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
|
||||
(byte*) line_cursor#0 ← (byte*) SCREEN#0
|
||||
(byte*) char_cursor#0 ← (byte*) line_cursor#0
|
||||
to:@14
|
||||
to:@15
|
||||
print_str: scope:[print_str] from mul8s_compare::@11 mul8s_error mul8s_error::@2 mul8s_error::@4 mul8s_error::@6 mul8s_error::@8 mul8u_compare::@11 mul8u_error mul8u_error::@2 mul8u_error::@4 mul8u_error::@6 mul8u_error::@8 mulf_tables_cmp::@3 mulf_tables_cmp::@5 mulf_tables_cmp::@7
|
||||
(byte*) char_cursor#149 ← phi( mul8s_compare::@11/(byte*) char_cursor#146 mul8s_error/(byte*) char_cursor#147 mul8s_error::@2/(byte*) char_cursor#54 mul8s_error::@4/(byte*) char_cursor#56 mul8s_error::@6/(byte*) char_cursor#58 mul8s_error::@8/(byte*) char_cursor#60 mul8u_compare::@11/(byte*) char_cursor#143 mul8u_error/(byte*) char_cursor#144 mul8u_error::@2/(byte*) char_cursor#38 mul8u_error::@4/(byte*) char_cursor#40 mul8u_error::@6/(byte*) char_cursor#42 mul8u_error::@8/(byte*) char_cursor#44 mulf_tables_cmp::@3/(byte*) char_cursor#140 mulf_tables_cmp::@5/(byte*) char_cursor#141 mulf_tables_cmp::@7/(byte*) char_cursor#27 )
|
||||
(byte*) print_str::str#18 ← phi( mul8s_compare::@11/(byte*) print_str::str#10 mul8s_error/(byte*) print_str::str#11 mul8s_error::@2/(byte*) print_str::str#12 mul8s_error::@4/(byte*) print_str::str#13 mul8s_error::@6/(byte*) print_str::str#14 mul8s_error::@8/(byte*) print_str::str#15 mul8u_compare::@11/(byte*) print_str::str#4 mul8u_error/(byte*) print_str::str#5 mul8u_error::@2/(byte*) print_str::str#6 mul8u_error::@4/(byte*) print_str::str#7 mul8u_error::@6/(byte*) print_str::str#8 mul8u_error::@8/(byte*) print_str::str#9 mulf_tables_cmp::@3/(byte*) print_str::str#1 mulf_tables_cmp::@5/(byte*) print_str::str#3 mulf_tables_cmp::@7/(byte*) print_str::str#2 )
|
||||
@ -2650,14 +2730,14 @@ mul8s::@return: scope:[mul8s] from mul8s::@2
|
||||
(signed word) mul8s::return#1 ← (signed word) mul8s::return#3
|
||||
return
|
||||
to:@return
|
||||
@14: scope:[] from @begin
|
||||
@15: scope:[] from @begin
|
||||
(byte*) char_cursor#168 ← phi( @begin/(byte*) char_cursor#0 )
|
||||
(byte*) line_cursor#78 ← phi( @begin/(byte*) line_cursor#0 )
|
||||
(byte[512]) mulf_sqr1_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr1_hi#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2_hi#0 ← { fill( 512, 0) }
|
||||
to:@17
|
||||
to:@18
|
||||
mulf_init: scope:[mulf_init] from main::@1
|
||||
(word) mulf_init::sqr#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) mulf_init::x_2#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
@ -2827,15 +2907,15 @@ mulf8s::@return: scope:[mulf8s] from mulf8s::@2
|
||||
(signed word) mulf8s::return#1 ← (signed word) mulf8s::return#3
|
||||
return
|
||||
to:@return
|
||||
@17: scope:[] from @14
|
||||
(byte*) char_cursor#160 ← phi( @14/(byte*) char_cursor#168 )
|
||||
(byte*) line_cursor#67 ← phi( @14/(byte*) line_cursor#78 )
|
||||
@18: scope:[] from @15
|
||||
(byte*) char_cursor#160 ← phi( @15/(byte*) char_cursor#168 )
|
||||
(byte*) line_cursor#67 ← phi( @15/(byte*) line_cursor#78 )
|
||||
(byte*) BGCOL#0 ← ((byte*)) (word/dword/signed dword) 53281
|
||||
to:@20
|
||||
main: scope:[main] from @26
|
||||
(byte*) char_cursor#138 ← phi( @26/(byte*) char_cursor#148 )
|
||||
(byte*) line_cursor#46 ← phi( @26/(byte*) line_cursor#56 )
|
||||
(byte*) BGCOL#1 ← phi( @26/(byte*) BGCOL#5 )
|
||||
to:@21
|
||||
main: scope:[main] from @27
|
||||
(byte*) char_cursor#138 ← phi( @27/(byte*) char_cursor#148 )
|
||||
(byte*) line_cursor#46 ← phi( @27/(byte*) line_cursor#56 )
|
||||
(byte*) BGCOL#1 ← phi( @27/(byte*) BGCOL#5 )
|
||||
*((byte*) BGCOL#1) ← (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
call print_cls param-assignment
|
||||
to:main::@1
|
||||
@ -2984,15 +3064,15 @@ muls8s::@return: scope:[muls8s] from muls8s::@3
|
||||
(signed word) muls8s::return#1 ← (signed word) muls8s::return#3
|
||||
return
|
||||
to:@return
|
||||
@20: scope:[] from @17
|
||||
(byte*) char_cursor#159 ← phi( @17/(byte*) char_cursor#160 )
|
||||
(byte*) line_cursor#66 ← phi( @17/(byte*) line_cursor#67 )
|
||||
(byte*) BGCOL#15 ← phi( @17/(byte*) BGCOL#0 )
|
||||
@21: scope:[] from @18
|
||||
(byte*) char_cursor#159 ← phi( @18/(byte*) char_cursor#160 )
|
||||
(byte*) line_cursor#66 ← phi( @18/(byte*) line_cursor#67 )
|
||||
(byte*) BGCOL#15 ← phi( @18/(byte*) BGCOL#0 )
|
||||
(byte[512]) mula_sqr1_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr1_hi#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr2_lo#0 ← { fill( 512, 0) }
|
||||
(byte[512]) mula_sqr2_hi#0 ← { fill( 512, 0) }
|
||||
to:@26
|
||||
to:@27
|
||||
mulf_init_asm: scope:[mulf_init_asm] from main::@2
|
||||
asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: stamula_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: stamula_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldamula_sqr1_hi+1,x stamula_sqr2_hi+$100,x ldamula_sqr1_hi,x stamula_sqr2_hi,y ldamula_sqr1_lo+1,x stamula_sqr2_lo+$100,x ldamula_sqr1_lo,x stamula_sqr2_lo,y dey inx bne!- }
|
||||
(byte*) mulf_init_asm::mem#0 ← ((byte*)) (byte/word/signed word/dword/signed dword) 255
|
||||
@ -3713,26 +3793,26 @@ mul8s_error::@return: scope:[mul8s_error] from mul8s_error::@11
|
||||
(byte*) line_cursor#21 ← (byte*) line_cursor#43
|
||||
return
|
||||
to:@return
|
||||
@26: scope:[] from @20
|
||||
(byte*) char_cursor#148 ← phi( @20/(byte*) char_cursor#159 )
|
||||
(byte*) line_cursor#56 ← phi( @20/(byte*) line_cursor#66 )
|
||||
(byte*) BGCOL#5 ← phi( @20/(byte*) BGCOL#15 )
|
||||
@27: scope:[] from @21
|
||||
(byte*) char_cursor#148 ← phi( @21/(byte*) char_cursor#159 )
|
||||
(byte*) line_cursor#56 ← phi( @21/(byte*) line_cursor#66 )
|
||||
(byte*) BGCOL#5 ← phi( @21/(byte*) BGCOL#15 )
|
||||
call main param-assignment
|
||||
to:@27
|
||||
@27: scope:[] from @26
|
||||
(byte*) char_cursor#129 ← phi( @26/(byte*) char_cursor#25 )
|
||||
(byte*) line_cursor#44 ← phi( @26/(byte*) line_cursor#9 )
|
||||
to:@28
|
||||
@28: scope:[] from @27
|
||||
(byte*) char_cursor#129 ← phi( @27/(byte*) char_cursor#25 )
|
||||
(byte*) line_cursor#44 ← phi( @27/(byte*) line_cursor#9 )
|
||||
(byte*) line_cursor#22 ← (byte*) line_cursor#44
|
||||
(byte*) char_cursor#65 ← (byte*) char_cursor#129
|
||||
to:@end
|
||||
@end: scope:[] from @27
|
||||
@end: scope:[] from @28
|
||||
|
||||
SYMBOL TABLE SSA
|
||||
(label) @14
|
||||
(label) @17
|
||||
(label) @20
|
||||
(label) @26
|
||||
(label) @15
|
||||
(label) @18
|
||||
(label) @21
|
||||
(label) @27
|
||||
(label) @28
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -5955,16 +6035,16 @@ Culled Empty Block (label) print_word::@2
|
||||
Culled Empty Block (label) print_byte::@2
|
||||
Culled Empty Block (label) print_cls::@2
|
||||
Culled Empty Block (label) mul8u::@3
|
||||
Culled Empty Block (label) @14
|
||||
Culled Empty Block (label) @15
|
||||
Culled Empty Block (label) mulf_init::@6
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mulf_init::@7
|
||||
Culled Empty Block (label) @17
|
||||
Culled Empty Block (label) @18
|
||||
Culled Empty Block (label) main::@6
|
||||
Culled Empty Block (label) muls8u::@3
|
||||
Culled Empty Block (label) muls8s::@6
|
||||
Culled Empty Block (label) muls8s::@4
|
||||
Culled Empty Block (label) muls8s::@9
|
||||
Culled Empty Block (label) @20
|
||||
Culled Empty Block (label) @21
|
||||
Culled Empty Block (label) mulf_tables_cmp::@9
|
||||
Culled Empty Block (label) mulf_tables_cmp::@11
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mul8u_compare::@6
|
||||
@ -5977,7 +6057,7 @@ Not culling empty block because it shares successor with its predecessor. (label
|
||||
Culled Empty Block (label) mul8s_compare::@15
|
||||
Culled Empty Block (label) mul8s_compare::@17
|
||||
Culled Empty Block (label) mul8s_error::@11
|
||||
Culled Empty Block (label) @27
|
||||
Culled Empty Block (label) @28
|
||||
Succesful SSA optimization Pass2CullEmptyBlocks
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mulf_init::@7
|
||||
Not culling empty block because it shares successor with its predecessor. (label) mul8u_compare::@6
|
||||
@ -6394,7 +6474,7 @@ Constant inlined print_char::ch#1 = (byte) '-'
|
||||
Constant inlined print_char::ch#0 = (byte) '-'
|
||||
Constant inlined print_byte::$4 = (const string) print_byte::hextab#0
|
||||
Succesful SSA optimization Pass2ConstantInlining
|
||||
Block Sequence Planned @begin @26 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@7 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@3 muls8s::@return muls8s::@1 muls8s::@5 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@7 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@1 muls8u::@return mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return print_cls print_cls::@1 print_cls::@return
|
||||
Block Sequence Planned @begin @27 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@7 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@3 muls8s::@return muls8s::@1 muls8s::@5 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@7 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@1 muls8u::@return mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return print_cls print_cls::@1 print_cls::@return
|
||||
Added new block during phi lifting mul8s_compare::@18(between mul8s_compare::@10 and mul8s_compare::@1)
|
||||
Added new block during phi lifting mul8s_compare::@19(between mul8s_compare::@5 and mul8s_compare::@2)
|
||||
Added new block during phi lifting mul8s_compare::@20(between mul8s_compare::@3 and mul8s_compare::@4)
|
||||
@ -6421,9 +6501,9 @@ Added new block during phi lifting mulf_init::@10(between mulf_init::@1 and mulf
|
||||
Added new block during phi lifting mulf_init::@11(between mulf_init::@4 and mulf_init::@3)
|
||||
Added new block during phi lifting mulf_init::@12(between mulf_init::@3 and mulf_init::@4)
|
||||
Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1)
|
||||
Block Sequence Planned @begin @26 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@7 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 mul8s_compare::@18 mul8s_compare::@19 mul8s_compare::@20 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_sbyte::@5 mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8s::@8 mul8s::@7 mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8s::@8 mulf8s::@7 mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@13 muls8s::@3 muls8s::@return muls8s::@12 muls8s::@1 muls8s::@5 muls8s::@14 muls8s::@15 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@7 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_compare::@18 mul8u_compare::@19 mul8u_compare::@20 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@7 muls8u::@1 muls8u::@return muls8u::@6 mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_tables_cmp::@12 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@11 mulf_init::@12 mulf_init::@9 mulf_init::@10 print_cls print_cls::@1 print_cls::@return print_cls::@3
|
||||
Block Sequence Planned @begin @27 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@7 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 mul8s_compare::@18 mul8s_compare::@19 mul8s_compare::@20 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_sbyte::@5 mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8s::@8 mul8s::@7 mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8s::@8 mulf8s::@7 mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@13 muls8s::@3 muls8s::@return muls8s::@12 muls8s::@1 muls8s::@5 muls8s::@14 muls8s::@15 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@7 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_compare::@18 mul8u_compare::@19 mul8u_compare::@20 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@7 muls8u::@1 muls8u::@return muls8u::@6 mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_tables_cmp::@12 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@7 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@11 mulf_init::@12 mulf_init::@9 mulf_init::@10 print_cls print_cls::@1 print_cls::@return print_cls::@3
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @26
|
||||
Adding NOP phi() at start of @27
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main::@1
|
||||
Adding NOP phi() at start of main::@2
|
||||
@ -6645,9 +6725,9 @@ Not culling empty block because it shares successor with its predecessor. (label
|
||||
Culled Empty Block (label) mulf_init::@9
|
||||
Culled Empty Block (label) mulf_init::@10
|
||||
Culled Empty Block (label) print_cls::@3
|
||||
Block Sequence Planned @begin @26 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 mul8s_compare::@20 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@3 muls8s::@return muls8s::@1 muls8s::@5 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_compare::@20 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@1 muls8u::@return mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@12 print_cls print_cls::@1 print_cls::@return
|
||||
Block Sequence Planned @begin @27 @end main main::@1 main::@2 main::@3 main::@4 main::@5 main::@return mul8s_compare mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@12 mul8s_compare::@13 mul8s_compare::@14 mul8s_compare::@6 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@return mul8s_compare::@5 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@16 mul8s_compare::@20 print_ln print_ln::@1 print_ln::@return print_str print_str::@1 print_str::@return print_str::@2 mul8s_error mul8s_error::@1 mul8s_error::@2 mul8s_error::@3 mul8s_error::@4 mul8s_error::@5 mul8s_error::@6 mul8s_error::@7 mul8s_error::@8 mul8s_error::@9 mul8s_error::@10 mul8s_error::@return print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8s mul8s::@6 mul8s::@3 mul8s::@1 mul8s::@4 mul8s::@2 mul8s::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mulf8s mulf8s::@6 mulf8s::@3 mulf8s::@1 mulf8s::@4 mulf8s::@2 mulf8s::@return mulf8u mulf8u::@return muls8s muls8s::@2 muls8s::@3 muls8s::@return muls8s::@1 muls8s::@5 mul8u_compare mul8u_compare::@1 mul8u_compare::@2 mul8u_compare::@12 mul8u_compare::@13 mul8u_compare::@14 mul8u_compare::@6 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@8 mul8u_compare::@return mul8u_compare::@5 mul8u_compare::@10 mul8u_compare::@11 mul8u_compare::@16 mul8u_compare::@20 mul8u_error mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error::@4 mul8u_error::@5 mul8u_error::@6 mul8u_error::@7 mul8u_error::@8 mul8u_error::@9 mul8u_error::@10 mul8u_error::@return muls8u muls8u::@2 muls8u::@1 muls8u::@return mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3 mulf_tables_cmp::@6 mulf_tables_cmp::@7 mulf_tables_cmp::@8 mulf_tables_cmp::@return mulf_tables_cmp::@2 mulf_tables_cmp::@5 mulf_tables_cmp::@10 mulf_init_asm mulf_init_asm::@return mulf_init mulf_init::@1 mulf_init::@5 mulf_init::@2 mulf_init::@3 mulf_init::@4 mulf_init::@8 mulf_init::@return mulf_init::@12 print_cls print_cls::@1 print_cls::@return
|
||||
Adding NOP phi() at start of @begin
|
||||
Adding NOP phi() at start of @26
|
||||
Adding NOP phi() at start of @27
|
||||
Adding NOP phi() at start of @end
|
||||
Adding NOP phi() at start of main::@1
|
||||
Adding NOP phi() at start of main::@2
|
||||
@ -6720,14 +6800,14 @@ Propagating live ranges...
|
||||
FINAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@26
|
||||
@26: scope:[] from @begin
|
||||
to:@27
|
||||
@27: scope:[] from @begin
|
||||
[1] phi() [ ] ( )
|
||||
[2] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @26
|
||||
@end: scope:[] from @27
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @26
|
||||
main: scope:[main] from @27
|
||||
[4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] )
|
||||
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
@ -7362,152 +7442,152 @@ print_cls::@return: scope:[print_cls] from print_cls::@1
|
||||
|
||||
DOMINATORS
|
||||
@begin dominated by @begin
|
||||
@26 dominated by @26 @begin
|
||||
@end dominated by @26 @end @begin
|
||||
main dominated by @26 main @begin
|
||||
main::@1 dominated by main::@1 @26 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 @26 main @begin
|
||||
main::@3 dominated by main::@1 main::@2 main::@3 @26 main @begin
|
||||
main::@4 dominated by main::@1 main::@2 main::@3 main::@4 @26 main @begin
|
||||
main::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 @26 main @begin
|
||||
main::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 main::@return @26 main @begin
|
||||
mul8s_compare dominated by main::@1 main::@2 main::@5 main::@3 main::@4 @26 main @begin mul8s_compare
|
||||
mul8s_compare::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 @26 main @begin mul8s_compare
|
||||
mul8s_compare::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
mul8s_compare::@12 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 main @begin mul8s_compare
|
||||
mul8s_compare::@13 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@14 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@6 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@8 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare mul8s_compare::@return
|
||||
mul8s_compare::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@10 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@11 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 mul8s_compare::@11 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@16 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 mul8s_compare::@11 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare::@16 mul8s_compare
|
||||
mul8s_compare::@20 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare::@20 mul8s_compare
|
||||
print_ln dominated by main::@1 main::@2 main::@3 print_ln @26 main @begin
|
||||
print_ln::@1 dominated by main::@1 main::@2 main::@3 print_ln print_ln::@1 @26 main @begin
|
||||
print_ln::@return dominated by print_ln::@return main::@1 main::@2 main::@3 print_ln print_ln::@1 @26 main @begin
|
||||
print_str dominated by main::@1 main::@2 main::@3 print_str @26 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@2 main::@3 print_str::@1 print_str @26 main @begin
|
||||
print_str::@return dominated by main::@1 main::@2 main::@3 print_str::@return print_str::@1 print_str @26 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@2 main::@3 print_str::@1 print_str::@2 print_str @26 main @begin
|
||||
mul8s_error dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@4 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@6 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@7 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@8 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@8 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@9 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@10 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare mul8s_error::@10
|
||||
mul8s_error::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_error::@return mul8s_compare mul8s_error::@10
|
||||
print_sword dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 print_sword::@2 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 print_sword::@2 mul8s_compare::@12 print_sword::@4 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 print_sword::@1 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 @26 mul8s_compare::@14 print_sword::@1 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin print_sword::@return mul8s_compare
|
||||
print_word dominated by print_word main::@1 main::@2 main::@3 @26 main @begin
|
||||
print_word::@1 dominated by print_word main::@1 main::@2 main::@3 print_word::@1 @26 main @begin
|
||||
print_word::@return dominated by print_word main::@1 main::@2 main::@3 print_word::@return print_word::@1 @26 main @begin
|
||||
print_byte dominated by main::@1 main::@2 main::@3 print_byte @26 main @begin
|
||||
print_byte::@1 dominated by main::@1 main::@2 main::@3 print_byte::@1 print_byte @26 main @begin
|
||||
print_byte::@return dominated by main::@1 main::@2 main::@3 print_byte::@1 print_byte @26 main @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 main::@3 @26 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 main::@3 @26 main print_char print_char::@return @begin
|
||||
print_sbyte dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@2 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@4 print_sbyte::@2 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@1 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 @26 mul8s_compare::@14 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@1 mul8s_error @begin print_sbyte::@return mul8s_compare
|
||||
mul8s dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s mul8s_compare
|
||||
mul8s::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 @begin mul8s mul8s_compare
|
||||
mul8s::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@3 @begin mul8s mul8s_compare
|
||||
mul8s::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 @begin mul8s mul8s_compare
|
||||
mul8s::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@4 @begin mul8s mul8s_compare
|
||||
mul8s::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@2 @begin mul8s mul8s_compare
|
||||
mul8s::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@2 @begin mul8s::@return mul8s mul8s_compare
|
||||
mul8u dominated by main::@1 main::@2 main::@3 main::@4 mul8u @26 main @begin
|
||||
mul8u::@1 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @26 main @begin mul8u::@1
|
||||
mul8u::@return dominated by main::@1 main::@2 main::@3 main::@4 mul8u mul8u::@return @26 main @begin mul8u::@1
|
||||
mul8u::@2 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @26 main @begin mul8u::@2 mul8u::@1
|
||||
mul8u::@7 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @26 main @begin mul8u::@7 mul8u::@2 mul8u::@1
|
||||
mul8u::@4 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @26 main @begin mul8u::@2 mul8u::@1 mul8u::@4
|
||||
mulf8s dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mul8s_compare
|
||||
mulf8s::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@6 mul8s_compare
|
||||
mulf8s::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@3 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@1 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@1 mulf8s::@4 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@2 mulf8s::@1 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @26 mul8s_compare::@12 main @begin mulf8s::@2 mulf8s::@1 mulf8s::@return mulf8s::@6 mul8s_compare
|
||||
mulf8u dominated by main::@1 main::@2 main::@3 main::@4 mulf8u @26 main @begin
|
||||
mulf8u::@return dominated by main::@1 main::@2 main::@3 main::@4 mulf8u @26 main @begin mulf8u::@return
|
||||
muls8s dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
muls8s::@2 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@2 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
muls8s::@3 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@3 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
muls8s::@return dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@3 mul8s_compare::@1 mul8s_compare::@2 muls8s::@return @26 main @begin mul8s_compare
|
||||
muls8s::@1 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@1 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
muls8s::@5 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@5 muls8s::@1 mul8s_compare::@1 mul8s_compare::@2 @26 main @begin mul8s_compare
|
||||
mul8u_compare dominated by main::@1 main::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@1 dominated by main::@1 mul8u_compare::@1 main::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@2 dominated by main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@12 dominated by mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@13 dominated by mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@14 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@6 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@6 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@3 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@4 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@8 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@return dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@return @26 main @begin mul8u_compare
|
||||
mul8u_compare::@5 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@10 dominated by mul8u_compare::@14 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@11 dominated by mul8u_compare::@14 mul8u_compare::@11 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@16 dominated by mul8u_compare::@14 mul8u_compare::@16 mul8u_compare::@11 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
mul8u_compare::@20 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 main::@3 main::@4 mul8u_compare::@20 @26 main @begin mul8u_compare
|
||||
mul8u_error dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@1 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@2 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@2 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@3 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@4 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@5 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare
|
||||
mul8u_error::@6 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@6
|
||||
mul8u_error::@7 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@8 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@9 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@10 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_error::@10 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@return dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_error::@10 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @26 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7 mul8u_error::@return
|
||||
muls8u dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare
|
||||
muls8u::@2 dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare muls8u::@2
|
||||
muls8u::@1 dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare muls8u::@1
|
||||
muls8u::@return dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @26 main @begin mul8u_compare muls8u::@1 muls8u::@return
|
||||
mulf_tables_cmp dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp
|
||||
mulf_tables_cmp::@1 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@3 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@6 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@7 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@7 mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@8 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@8 mulf_tables_cmp::@7 mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@return dominated by main::@1 main::@2 main::@3 @26 main mulf_tables_cmp::@return @begin mulf_tables_cmp mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@2 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@2 mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@5 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@2 mulf_tables_cmp::@1 mulf_tables_cmp::@5
|
||||
mulf_tables_cmp::@10 dominated by main::@1 main::@2 main::@3 @26 main @begin mulf_tables_cmp mulf_tables_cmp::@10 mulf_tables_cmp::@2 mulf_tables_cmp::@1 mulf_tables_cmp::@5
|
||||
mulf_init_asm dominated by main::@1 main::@2 mulf_init_asm @26 main @begin
|
||||
mulf_init_asm::@return dominated by main::@1 main::@2 mulf_init_asm::@return mulf_init_asm @26 main @begin
|
||||
mulf_init dominated by main::@1 @26 main @begin mulf_init
|
||||
mulf_init::@1 dominated by main::@1 @26 main @begin mulf_init mulf_init::@1
|
||||
mulf_init::@5 dominated by main::@1 @26 main @begin mulf_init mulf_init::@1 mulf_init::@5
|
||||
mulf_init::@2 dominated by main::@1 @26 main @begin mulf_init mulf_init::@2 mulf_init::@1
|
||||
mulf_init::@3 dominated by main::@1 @26 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
mulf_init::@4 dominated by main::@1 @26 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3
|
||||
mulf_init::@8 dominated by main::@1 @26 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@return dominated by main::@1 mulf_init::@return @26 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@12 dominated by mulf_init::@12 main::@1 @26 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
print_cls dominated by print_cls @26 main @begin
|
||||
print_cls::@1 dominated by print_cls @26 main @begin print_cls::@1
|
||||
print_cls::@return dominated by print_cls @26 main @begin print_cls::@return print_cls::@1
|
||||
@27 dominated by @27 @begin
|
||||
@end dominated by @27 @end @begin
|
||||
main dominated by @27 main @begin
|
||||
main::@1 dominated by main::@1 @27 main @begin
|
||||
main::@2 dominated by main::@1 main::@2 @27 main @begin
|
||||
main::@3 dominated by main::@1 main::@2 main::@3 @27 main @begin
|
||||
main::@4 dominated by main::@1 main::@2 main::@3 main::@4 @27 main @begin
|
||||
main::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 @27 main @begin
|
||||
main::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 main::@return @27 main @begin
|
||||
mul8s_compare dominated by main::@1 main::@2 main::@5 main::@3 main::@4 @27 main @begin mul8s_compare
|
||||
mul8s_compare::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 @27 main @begin mul8s_compare
|
||||
mul8s_compare::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
mul8s_compare::@12 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 main @begin mul8s_compare
|
||||
mul8s_compare::@13 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@14 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@6 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@8 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare mul8s_compare::@return
|
||||
mul8s_compare::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@10 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@11 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare
|
||||
mul8s_compare::@16 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@5 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@10 mul8s_compare::@11 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare::@16 mul8s_compare
|
||||
mul8s_compare::@20 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s_compare::@20 mul8s_compare
|
||||
print_ln dominated by main::@1 main::@2 main::@3 print_ln @27 main @begin
|
||||
print_ln::@1 dominated by main::@1 main::@2 main::@3 print_ln print_ln::@1 @27 main @begin
|
||||
print_ln::@return dominated by print_ln::@return main::@1 main::@2 main::@3 print_ln print_ln::@1 @27 main @begin
|
||||
print_str dominated by main::@1 main::@2 main::@3 print_str @27 main @begin
|
||||
print_str::@1 dominated by main::@1 main::@2 main::@3 print_str::@1 print_str @27 main @begin
|
||||
print_str::@return dominated by main::@1 main::@2 main::@3 print_str::@return print_str::@1 print_str @27 main @begin
|
||||
print_str::@2 dominated by main::@1 main::@2 main::@3 print_str::@1 print_str::@2 print_str @27 main @begin
|
||||
mul8s_error dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@4 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@5 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@6 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@7 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@8 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@8 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@9 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
mul8s_error::@10 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare mul8s_error::@10
|
||||
mul8s_error::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 mul8s_error::@5 mul8s_error::@4 mul8s_error::@7 mul8s_error::@6 mul8s_error::@9 mul8s_error::@8 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_error::@return mul8s_compare mul8s_error::@10
|
||||
print_sword dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 print_sword::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 print_sword::@2 @27 mul8s_compare::@12 print_sword::@4 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 @27 print_sword::@1 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sword::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 mul8s_error::@1 mul8s_error::@3 mul8s_error::@2 print_sword mul8s_error::@5 mul8s_error::@4 mul8s_compare::@14 @27 print_sword::@1 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin print_sword::@return mul8s_compare
|
||||
print_word dominated by print_word main::@1 main::@2 main::@3 @27 main @begin
|
||||
print_word::@1 dominated by print_word main::@1 main::@2 main::@3 print_word::@1 @27 main @begin
|
||||
print_word::@return dominated by print_word main::@1 main::@2 main::@3 print_word::@return print_word::@1 @27 main @begin
|
||||
print_byte dominated by main::@1 main::@2 main::@3 print_byte @27 main @begin
|
||||
print_byte::@1 dominated by main::@1 main::@2 main::@3 print_byte::@1 print_byte @27 main @begin
|
||||
print_byte::@return dominated by main::@1 main::@2 main::@3 print_byte::@1 print_byte @27 main @begin print_byte::@return
|
||||
print_char dominated by main::@1 main::@2 main::@3 @27 main print_char @begin
|
||||
print_char::@return dominated by main::@1 main::@2 main::@3 @27 main print_char print_char::@return @begin
|
||||
print_sbyte dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@2 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@4 print_sbyte::@2 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@1 mul8s_error @begin mul8s_compare
|
||||
print_sbyte::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@3 mul8s_compare::@4 mul8s_compare::@8 mul8s_compare::@1 mul8s_compare::@2 print_sbyte mul8s_error::@1 mul8s_compare::@14 @27 mul8s_compare::@12 mul8s_compare::@13 main print_sbyte::@1 mul8s_error @begin print_sbyte::@return mul8s_compare
|
||||
mul8s dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main @begin mul8s mul8s_compare
|
||||
mul8s::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 @begin mul8s mul8s_compare
|
||||
mul8s::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@3 @begin mul8s mul8s_compare
|
||||
mul8s::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 @begin mul8s mul8s_compare
|
||||
mul8s::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@4 @begin mul8s mul8s_compare
|
||||
mul8s::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@2 @begin mul8s mul8s_compare
|
||||
mul8s::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 mul8s_compare::@12 mul8s_compare::@13 main mul8s::@6 mul8s::@1 mul8s::@2 @begin mul8s::@return mul8s mul8s_compare
|
||||
mul8u dominated by main::@1 main::@2 main::@3 main::@4 mul8u @27 main @begin
|
||||
mul8u::@1 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @27 main @begin mul8u::@1
|
||||
mul8u::@return dominated by main::@1 main::@2 main::@3 main::@4 mul8u mul8u::@return @27 main @begin mul8u::@1
|
||||
mul8u::@2 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @27 main @begin mul8u::@2 mul8u::@1
|
||||
mul8u::@7 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @27 main @begin mul8u::@7 mul8u::@2 mul8u::@1
|
||||
mul8u::@4 dominated by main::@1 main::@2 main::@3 main::@4 mul8u @27 main @begin mul8u::@2 mul8u::@1 mul8u::@4
|
||||
mulf8s dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mul8s_compare
|
||||
mulf8s::@6 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@6 mul8s_compare
|
||||
mulf8s::@3 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@3 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@1 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@1 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@4 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@1 mulf8s::@4 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@2 dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@2 mulf8s::@1 mulf8s::@6 mul8s_compare
|
||||
mulf8s::@return dominated by main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 mulf8s @27 mul8s_compare::@12 main @begin mulf8s::@2 mulf8s::@1 mulf8s::@return mulf8s::@6 mul8s_compare
|
||||
mulf8u dominated by main::@1 main::@2 main::@3 main::@4 mulf8u @27 main @begin
|
||||
mulf8u::@return dominated by main::@1 main::@2 main::@3 main::@4 mulf8u @27 main @begin mulf8u::@return
|
||||
muls8s dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
muls8s::@2 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@2 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
muls8s::@3 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@3 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
muls8s::@return dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@3 mul8s_compare::@1 mul8s_compare::@2 muls8s::@return @27 main @begin mul8s_compare
|
||||
muls8s::@1 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@1 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
muls8s::@5 dominated by muls8s main::@1 main::@2 main::@5 main::@3 main::@4 muls8s::@5 muls8s::@1 mul8s_compare::@1 mul8s_compare::@2 @27 main @begin mul8s_compare
|
||||
mul8u_compare dominated by main::@1 main::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@1 dominated by main::@1 mul8u_compare::@1 main::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@2 dominated by main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@12 dominated by mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@13 dominated by mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@14 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@6 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@6 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@3 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@4 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@8 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@return dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@return @27 main @begin mul8u_compare
|
||||
mul8u_compare::@5 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@10 dominated by mul8u_compare::@14 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@11 dominated by mul8u_compare::@14 mul8u_compare::@11 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@16 dominated by mul8u_compare::@14 mul8u_compare::@16 mul8u_compare::@11 mul8u_compare::@10 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_compare::@5 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
mul8u_compare::@20 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 main::@3 main::@4 mul8u_compare::@20 @27 main @begin mul8u_compare
|
||||
mul8u_error dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@1 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@2 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@2 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@3 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@4 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@5 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare
|
||||
mul8u_error::@6 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@6
|
||||
mul8u_error::@7 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@8 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@9 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@10 dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_error::@10 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7
|
||||
mul8u_error::@return dominated by mul8u_compare::@14 mul8u_compare::@13 mul8u_compare::@12 main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 mul8u_compare::@3 mul8u_compare::@4 mul8u_error::@10 main::@3 main::@4 mul8u_compare::@8 mul8u_error::@1 mul8u_error::@4 mul8u_error::@5 mul8u_error::@2 mul8u_error::@3 mul8u_error @27 main @begin mul8u_compare mul8u_error::@8 mul8u_error::@9 mul8u_error::@6 mul8u_error::@7 mul8u_error::@return
|
||||
muls8u dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare
|
||||
muls8u::@2 dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare muls8u::@2
|
||||
muls8u::@1 dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare muls8u::@1
|
||||
muls8u::@return dominated by muls8u main::@1 mul8u_compare::@1 main::@2 mul8u_compare::@2 main::@3 main::@4 @27 main @begin mul8u_compare muls8u::@1 muls8u::@return
|
||||
mulf_tables_cmp dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp
|
||||
mulf_tables_cmp::@1 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@3 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@6 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@7 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@7 mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@8 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@8 mulf_tables_cmp::@7 mulf_tables_cmp::@1 mulf_tables_cmp::@6 mulf_tables_cmp::@3
|
||||
mulf_tables_cmp::@return dominated by main::@1 main::@2 main::@3 @27 main mulf_tables_cmp::@return @begin mulf_tables_cmp mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@2 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@2 mulf_tables_cmp::@1
|
||||
mulf_tables_cmp::@5 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@2 mulf_tables_cmp::@1 mulf_tables_cmp::@5
|
||||
mulf_tables_cmp::@10 dominated by main::@1 main::@2 main::@3 @27 main @begin mulf_tables_cmp mulf_tables_cmp::@10 mulf_tables_cmp::@2 mulf_tables_cmp::@1 mulf_tables_cmp::@5
|
||||
mulf_init_asm dominated by main::@1 main::@2 mulf_init_asm @27 main @begin
|
||||
mulf_init_asm::@return dominated by main::@1 main::@2 mulf_init_asm::@return mulf_init_asm @27 main @begin
|
||||
mulf_init dominated by main::@1 @27 main @begin mulf_init
|
||||
mulf_init::@1 dominated by main::@1 @27 main @begin mulf_init mulf_init::@1
|
||||
mulf_init::@5 dominated by main::@1 @27 main @begin mulf_init mulf_init::@1 mulf_init::@5
|
||||
mulf_init::@2 dominated by main::@1 @27 main @begin mulf_init mulf_init::@2 mulf_init::@1
|
||||
mulf_init::@3 dominated by main::@1 @27 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
mulf_init::@4 dominated by main::@1 @27 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3
|
||||
mulf_init::@8 dominated by main::@1 @27 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@return dominated by main::@1 mulf_init::@return @27 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@4 mulf_init::@3 mulf_init::@8
|
||||
mulf_init::@12 dominated by mulf_init::@12 main::@1 @27 main @begin mulf_init mulf_init::@2 mulf_init::@1 mulf_init::@3
|
||||
print_cls dominated by print_cls @27 main @begin
|
||||
print_cls::@1 dominated by print_cls @27 main @begin print_cls::@1
|
||||
print_cls::@return dominated by print_cls @27 main @begin print_cls::@return print_cls::@1
|
||||
|
||||
NATURAL LOOPS
|
||||
Found back edge: Loop head: mul8s_compare::@2 tails: mul8s_compare::@5 blocks: null
|
||||
@ -8165,15 +8245,15 @@ INITIAL ASM
|
||||
.label line_cursor = 5
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @26 [phi:@begin->@26]
|
||||
b26_from_bbegin:
|
||||
jmp b26
|
||||
//SEG4 @26
|
||||
b26:
|
||||
//SEG3 [1] phi from @begin to @27 [phi:@begin->@27]
|
||||
b27_from_bbegin:
|
||||
jmp b27
|
||||
//SEG4 @27
|
||||
b27:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @26 to @end [phi:@26->@end]
|
||||
bend_from_b26:
|
||||
//SEG6 [3] phi from @27 to @end [phi:@27->@end]
|
||||
bend_from_b27:
|
||||
jmp bend
|
||||
//SEG7 @end
|
||||
bend:
|
||||
@ -10740,15 +10820,15 @@ ASSEMBLER BEFORE OPTIMIZATION
|
||||
.label line_cursor = 4
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 [1] phi from @begin to @26 [phi:@begin->@26]
|
||||
b26_from_bbegin:
|
||||
jmp b26
|
||||
//SEG4 @26
|
||||
b26:
|
||||
//SEG3 [1] phi from @begin to @27 [phi:@begin->@27]
|
||||
b27_from_bbegin:
|
||||
jmp b27
|
||||
//SEG4 @27
|
||||
b27:
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @26 to @end [phi:@26->@end]
|
||||
bend_from_b26:
|
||||
//SEG6 [3] phi from @27 to @end [phi:@27->@end]
|
||||
bend_from_b27:
|
||||
jmp bend
|
||||
//SEG7 @end
|
||||
bend:
|
||||
@ -12682,7 +12762,7 @@ print_cls: {
|
||||
mula_sqr2_hi: .fill $200, 0
|
||||
|
||||
ASSEMBLER OPTIMIZATIONS
|
||||
Removing instruction jmp b26
|
||||
Removing instruction jmp b27
|
||||
Removing instruction jmp bend
|
||||
Removing instruction jmp b1
|
||||
Removing instruction jmp b2
|
||||
@ -12849,8 +12929,8 @@ Replacing label b3_from_b4 with b3
|
||||
Replacing label b1_from_b1 with b1
|
||||
Replacing label b1_from_b1 with b1
|
||||
Removing instruction bbegin:
|
||||
Removing instruction b26_from_bbegin:
|
||||
Removing instruction bend_from_b26:
|
||||
Removing instruction b27_from_bbegin:
|
||||
Removing instruction bend_from_b27:
|
||||
Removing instruction b1_from_main:
|
||||
Removing instruction mulf_init_from_b1:
|
||||
Removing instruction b2_from_b1:
|
||||
@ -12945,7 +13025,7 @@ Removing instruction b12_from_b3:
|
||||
Removing instruction b4_from_b12:
|
||||
Removing instruction b1_from_b1:
|
||||
Succesful ASM optimization Pass5RedundantLabelElimination
|
||||
Removing instruction b26:
|
||||
Removing instruction b27:
|
||||
Removing instruction bend:
|
||||
Removing instruction print_cls_from_main:
|
||||
Removing instruction b1:
|
||||
@ -13106,7 +13186,7 @@ Removing unreachable instruction jmp b4
|
||||
Succesful ASM optimization Pass5UnreachableCodeElimination
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @26
|
||||
(label) @27
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -13601,11 +13681,11 @@ Score: 224327
|
||||
.label char_cursor = $a
|
||||
.label line_cursor = 4
|
||||
//SEG2 @begin
|
||||
//SEG3 [1] phi from @begin to @26 [phi:@begin->@26]
|
||||
//SEG4 @26
|
||||
//SEG3 [1] phi from @begin to @27 [phi:@begin->@27]
|
||||
//SEG4 @27
|
||||
//SEG5 [2] call main param-assignment [ ] ( )
|
||||
jsr main
|
||||
//SEG6 [3] phi from @26 to @end [phi:@26->@end]
|
||||
//SEG6 [3] phi from @27 to @end [phi:@27->@end]
|
||||
//SEG7 @end
|
||||
//SEG8 main
|
||||
main: {
|
||||
|
@ -1,4 +1,4 @@
|
||||
(label) @26
|
||||
(label) @27
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
|
Loading…
x
Reference in New Issue
Block a user