callgraph: table_read.part.0/47 (table_read.part.0) @069ab2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: Referring: Availability: local Function flags: count:35755602 (estimated locally) first_run:1 body local split_part optimize_size Called by: init_table_setup/42 (240947665 (estimated locally),0.22 per call) init_table_setup/42 (365072220 (estimated locally),0.34 per call) table_read/40 (35755602 (estimated locally),0.50 per call) Calls: read_table_n/38 (1037986221 (estimated locally),29.03 per call) write_table_n.part.0/46 (write_table_n.part.0) @069a4e00 Type: function definition analyzed Visibility: prevailing_def_ironly artificial References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read) Referring: Function write_table_n.part.0/46 is inline copy in write_table_n/37 Availability: local Function flags: count:708669599 (estimated locally) first_run:1 body local split_part optimize_size Called by: write_table_n/37 (inlined) (708669599 (estimated locally),0.66 per call) Calls: monprintf/43 (184820322 (estimated locally),0.17 per call) programDword_data_flash/44 (520536361 (estimated locally),0.48 per call) dtc_read/45 (dtc_read) @06aabc40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: init_table_setup/42 (1073741824 (estimated locally),1.00 per call) Calls: programDword_data_flash/44 (programDword_data_flash) @06aab460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: table_write/39 (35755603 (estimated locally),1.00 per call) write_table_n.part.0/46 (520536361 (estimated locally),0.48 per call) Calls: monprintf/43 (monprintf) @06aab2a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: read_sign_cs/41 (141733921 (estimated locally),0.66 per call) read_sign_cs/41 (73014444 (estimated locally),0.34 per call) read_sign_cs/41 (214748365 (estimated locally),1.00 per call) read_table_n/38 (217325345 (estimated locally),0.20 per call) write_table_n.part.0/46 (184820322 (estimated locally),0.17 per call) Calls: init_table_setup/42 (init_table_setup) @06a8f460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: Calls: dtc_read/45 (1073741824 (estimated locally),1.00 per call) read_sign_cs/41 (467721938 (estimated locally),0.44 per call) table_write/39 (467721938 (estimated locally),0.44 per call) table_read.part.0/47 (240947665 (estimated locally),0.22 per call) read_sign_cs/41 (708669604 (estimated locally),0.66 per call) table_read.part.0/47 (365072220 (estimated locally),0.34 per call) read_sign_cs/41 (1073741823 (estimated locally),1.00 per call) read_sign_cs/41 (read_sign_cs) @06a8f1c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:214748364 (estimated locally) body optimize_size Called by: init_table_setup/42 (467721938 (estimated locally),0.44 per call) init_table_setup/42 (708669604 (estimated locally),0.66 per call) init_table_setup/42 (1073741823 (estimated locally),1.00 per call) Calls: monprintf/43 (141733921 (estimated locally),0.66 per call) monprintf/43 (73014444 (estimated locally),0.34 per call) monprintf/43 (214748365 (estimated locally),1.00 per call) table_read/40 (table_read) @06a55ee0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:71511204 (estimated locally) body optimize_size Called by: Calls: table_read.part.0/47 (35755602 (estimated locally),0.50 per call) table_write/39 (table_write) @06a559a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:35755602 (estimated locally) body optimize_size Called by: init_table_setup/42 (467721938 (estimated locally),0.44 per call) Calls: programDword_data_flash/44 (35755603 (estimated locally),1.00 per call) write_table_n/37 (1037986221 (estimated locally),29.03 per call) read_table_n/38 (read_table_n) @06a550e0 Type: function definition analyzed Visibility: externally_visible public References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: table_read.part.0/47 (1037986221 (estimated locally),29.03 per call) Calls: monprintf/43 (217325345 (estimated locally),0.20 per call) write_table_n/37 (write_table_n) @06a55e00 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: table_write/39 (1037986221 (estimated locally),29.03 per call) Calls: write_table_n.part.0/46 (inlined) (708669599 (estimated locally),0.66 per call) table_did_maping_write/36 (table_did_maping_write) @06a55b60 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size Called by: Calls: table_did_maping/35 (1073741824 (estimated locally),1.00 per call) table_did_maping/35 (table_did_maping) @06a558c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size Called by: table_did_maping_write/36 (1073741824 (estimated locally),1.00 per call) Calls: Clearing variable flags: Function name:table_read.part.0/47: locals read: locals written: Function name:write_table_n.part.0/46: locals read: locals written: Function name:init_table_setup/42: locals read: locals written: Function name:read_sign_cs/41: locals read: locals written: Function name:table_read/40: locals read: locals written: Function name:table_write/39: locals read: locals written: Function name:read_table_n/38: locals read: locals written: Function name:write_table_n/37: locals read: locals written: Function name:table_did_maping_write/36: locals read: locals written: Function name:table_did_maping/35: locals read: locals written: ordered call graph: reduced init_table_setup/42 (init_table_setup) @06a8f460 Type: function definition analyzed Visibility: externally_visible public Aux: @06902e98 References: Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: Calls: dtc_read/45 (1073741824 (estimated locally),1.00 per call) read_sign_cs/41 (467721938 (estimated locally),0.44 per call) table_write/39 (467721938 (estimated locally),0.44 per call) table_read.part.0/47 (240947665 (estimated locally),0.22 per call) read_sign_cs/41 (708669604 (estimated locally),0.66 per call) table_read.part.0/47 (365072220 (estimated locally),0.34 per call) read_sign_cs/41 (1073741823 (estimated locally),1.00 per call) read_sign_cs/41 (read_sign_cs) @06a8f1c0 Type: function definition analyzed Visibility: externally_visible public Aux: @06902e38 References: Referring: Availability: available Function flags: count:214748364 (estimated locally) body optimize_size Called by: init_table_setup/42 (467721938 (estimated locally),0.44 per call) init_table_setup/42 (708669604 (estimated locally),0.66 per call) init_table_setup/42 (1073741823 (estimated locally),1.00 per call) Calls: monprintf/43 (141733921 (estimated locally),0.66 per call) monprintf/43 (73014444 (estimated locally),0.34 per call) monprintf/43 (214748365 (estimated locally),1.00 per call) table_read/40 (table_read) @06a55ee0 Type: function definition analyzed Visibility: externally_visible public Aux: @06902f58 References: Referring: Availability: available Function flags: count:71511204 (estimated locally) body optimize_size Called by: Calls: table_read.part.0/47 (35755602 (estimated locally),0.50 per call) table_read.part.0/47 (table_read.part.0) @069ab2a0 Type: function definition analyzed Visibility: prevailing_def_ironly artificial Aux: @06902db8 References: Referring: Availability: local Function flags: count:35755602 (estimated locally) first_run:1 body local split_part optimize_size Called by: init_table_setup/42 (240947665 (estimated locally),0.22 per call) init_table_setup/42 (365072220 (estimated locally),0.34 per call) table_read/40 (35755602 (estimated locally),0.50 per call) Calls: read_table_n/38 (1037986221 (estimated locally),29.03 per call) table_write/39 (table_write) @06a559a0 Type: function definition analyzed Visibility: externally_visible public Aux: @06902dd8 References: Referring: Availability: available Function flags: count:35755602 (estimated locally) body optimize_size Called by: init_table_setup/42 (467721938 (estimated locally),0.44 per call) Calls: programDword_data_flash/44 (35755603 (estimated locally),1.00 per call) write_table_n/37 (1037986221 (estimated locally),29.03 per call) read_table_n/38 (read_table_n) @06a550e0 Type: function definition analyzed Visibility: externally_visible public Aux: @06902eb8 References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: table_read.part.0/47 (1037986221 (estimated locally),29.03 per call) Calls: monprintf/43 (217325345 (estimated locally),0.20 per call) write_table_n/37 (write_table_n) @06a55e00 Type: function definition analyzed Visibility: externally_visible public Aux: @06902df8 References: Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: table_write/39 (1037986221 (estimated locally),29.03 per call) Calls: write_table_n.part.0/46 (inlined) (708669599 (estimated locally),0.66 per call) write_table_n.part.0/46 (write_table_n.part.0) @069a4e00 Type: function definition analyzed Visibility: prevailing_def_ironly artificial Aux: @06902c58 References: EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read)EEP_ADDR_TABLE/34 (read) Referring: Function write_table_n.part.0/46 is inline copy in write_table_n/37 Availability: local Function flags: count:708669599 (estimated locally) first_run:1 body local split_part optimize_size Called by: write_table_n/37 (inlined) (708669599 (estimated locally),0.66 per call) Calls: monprintf/43 (184820322 (estimated locally),0.17 per call) programDword_data_flash/44 (520536361 (estimated locally),0.48 per call) table_did_maping_write/36 (table_did_maping_write) @06a55b60 Type: function definition analyzed Visibility: externally_visible public Aux: @06902e58 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size Called by: Calls: table_did_maping/35 (1073741824 (estimated locally),1.00 per call) table_did_maping/35 (table_did_maping) @06a558c0 Type: function definition analyzed Visibility: externally_visible public Aux: @06902e78 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body icf_merged nonfreeing_fn optimize_size Called by: table_did_maping_write/36 (1073741824 (estimated locally),1.00 per call) Calls: Function name:table_did_maping/35: locals read: locals written: globals read: globals written: Function name:table_did_maping_write/36: locals read: locals written: globals read: globals written: Function name:write_table_n.part.0/46: locals read: locals written: globals read: ALL globals written: ALL Function name:write_table_n/37: locals read: locals written: globals read: ALL globals written: ALL Function name:read_table_n/38: locals read: locals written: globals read: ALL globals written: ALL Function name:table_write/39: locals read: locals written: globals read: ALL globals written: ALL Function name:table_read.part.0/47: locals read: locals written: globals read: ALL globals written: ALL Function name:table_read/40: locals read: locals written: globals read: ALL globals written: ALL Function name:read_sign_cs/41: locals read: locals written: globals read: ALL globals written: ALL Function name:init_table_setup/42: locals read: locals written: globals read: ALL globals written: ALL table_read.part.0 () { uint8_t i; uint16_t block; short unsigned int _2; [local count: 35755602]: # DEBUG D#12 s=> block # DEBUG block => D#12 goto ; [100.00%] [local count: 1037986221]: # DEBUG BEGIN_STMT _2 = (short unsigned int) i_1; read_table_n (_2); # DEBUG BEGIN_STMT i_3 = i_1 + 1; # DEBUG i => i_3 [local count: 1073741824]: # i_1 = PHI # DEBUG i => i_1 # DEBUG BEGIN_STMT if (i_1 != 29) goto ; [96.67%] else goto ; [3.33%] [local count: 35755603]: return; } write_table_n.part.0 (uint16_t n) { uint32_t i; uint32_t rdlen; uint32_t wrlen; uint32_t k; uint32_t r; volatile vuint32_t t[2]; uint32_t ps; volatile vuint32_t * psr; volatile vuint32_t * pd4; volatile vuint16_t * pd2; volatile vuint8_t * pd1; int _2; long unsigned int _3; long unsigned int _4; long unsigned int _9; long unsigned int _10; long unsigned int _11; short unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; short unsigned int _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; short unsigned int _22; long unsigned int _23; long unsigned int _24; long unsigned int _25; short unsigned int _27; long unsigned int _28; long unsigned int _29; long unsigned int _30; long unsigned int _33; long unsigned int _34; long unsigned int _37; long unsigned int _39; long unsigned int _42; unsigned char _45; long unsigned int _46; long unsigned int _47; long unsigned int _48; unsigned char _49; long unsigned int _52; long unsigned int _53; unsigned char _54; long unsigned int _57; long unsigned int _58; unsigned char _59; long unsigned int _60; long unsigned int _61; long unsigned int _62; unsigned char _63; long unsigned int _64; long unsigned int _65; long unsigned int _66; unsigned char _67; long unsigned int _70; long unsigned int _71; unsigned char _72; long unsigned int _75; long unsigned int _76; unsigned char _78; long unsigned int _79; long unsigned int _80; long unsigned int _81; [local count: 1073741823]: [local count: 1073741823]: # DEBUG BEGIN_STMT _2 = (int) n_1(D); _3 = EEP_ADDR_TABLE[_2][0]; if (_3 == 65535) goto ; [20.97%] else goto ; [79.03%] [local count: 225163660]: # DEBUG BEGIN_STMT // predicted unlikely by early return (on trees) predictor. goto ; [100.00%] [local count: 848578162]: # DEBUG BEGIN_STMT _4 = EEP_ADDR_TABLE[_2][7]; if (_4 != 1) goto ; [67.00%] else goto ; [33.00%] [local count: 568547369]: # DEBUG BEGIN_STMT // predicted unlikely by early return (on trees) predictor. goto ; [100.00%] [local count: 280030793]: # DEBUG BEGIN_STMT rdlen_5 = EEP_ADDR_TABLE[_2][1]; # DEBUG rdlen => rdlen_5 # DEBUG BEGIN_STMT rdlen_6 = rdlen_5 >> 2; # DEBUG rdlen => rdlen_6 # DEBUG BEGIN_STMT wrlen_7 = EEP_ADDR_TABLE[_2][2]; # DEBUG wrlen => wrlen_7 # DEBUG BEGIN_STMT ps_8 = _3 + 8388608; # DEBUG ps => ps_8 # DEBUG BEGIN_STMT # DEBUG psr => (volatile vuint32_t *) ps_8 # DEBUG BEGIN_STMT monprintf ("T%2d(%08X):rlen=%04x,wlen=%04x\n\r", _2, ps_8, rdlen_6, wrlen_7); # DEBUG BEGIN_STMT _9 = EEP_ADDR_TABLE[_2][4]; _10 = _9 + 4294967294; if (_10 <= 1) goto ; [41.00%] else goto ; [59.00%] [local count: 114812625]: # DEBUG BEGIN_STMT # DEBUG wrlen => wrlen_7 >> 1 # DEBUG BEGIN_STMT _11 = EEP_ADDR_TABLE[_2][3]; pd2_12 = (volatile vuint16_t *) _11; # DEBUG pd2 => pd2_12 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 928938517]: # DEBUG BEGIN_STMT # DEBUG D#8 => pd2_13 + 2 # DEBUG pd2 => D#8 _14 ={v} *pd2_13; _15 = (long unsigned int) _14; t[0] ={v} _15; # DEBUG BEGIN_STMT _16 ={v} t[0]; _17 = _16 << 16; t[0] ={v} _17; # DEBUG BEGIN_STMT # DEBUG D#7 => D#8 + 2 # DEBUG pd2 => D#7 _18 ={v} MEM[(volatile vuint16_t *)pd2_13 + 2B]; _19 ={v} t[0]; _20 = (long unsigned int) _18; _21 = _19 + _20; t[0] ={v} _21; # DEBUG BEGIN_STMT # DEBUG pd2 => D#7 + 2 _22 ={v} MEM[(volatile vuint16_t *)pd2_13 + 4B]; _23 = (long unsigned int) _22; t[1] ={v} _23; # DEBUG BEGIN_STMT _24 ={v} t[1]; _25 = _24 << 16; t[1] ={v} _25; # DEBUG BEGIN_STMT pd2_26 = &MEM[(void *)pd2_13 + 8B]; # DEBUG pd2 => pd2_26 _27 ={v} MEM[(volatile vuint16_t *)pd2_13 + 6B]; _28 ={v} t[1]; _29 = (long unsigned int) _27; _30 = _28 + _29; t[1] ={v} _30; # DEBUG BEGIN_STMT # DEBUG ps => NULL # DEBUG BEGIN_STMT i_32 = i_31 + 2; # DEBUG i => i_32 [local count: 1043751143]: # i_31 = PHI <0(7), i_32(8)> # pd2_13 = PHI # DEBUG pd2 => pd2_13 # DEBUG ps => NULL # DEBUG i => i_31 # DEBUG BEGIN_STMT if (rdlen_6 > i_31) goto ; [89.00%] else goto ; [11.00%] [local count: 165218168]: # DEBUG BEGIN_STMT _33 = _9 + 4294967292; if (_33 <= 1) goto ; [41.00%] else goto ; [59.00%] [local count: 67739449]: # DEBUG BEGIN_STMT # DEBUG wrlen => wrlen_7 >> 2 # DEBUG BEGIN_STMT _34 = EEP_ADDR_TABLE[_2][3]; pd4_35 = (volatile vuint32_t *) _34; # DEBUG pd4 => pd4_35 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 548073726]: # DEBUG BEGIN_STMT # DEBUG pd4 => pd4_36 + 4 _37 ={v} *pd4_36; t[0] ={v} _37; # DEBUG BEGIN_STMT pd4_38 = &MEM[(void *)pd4_36 + 8B]; # DEBUG pd4 => pd4_38 _39 ={v} MEM[(volatile vuint32_t *)pd4_36 + 4B]; t[1] ={v} _39; # DEBUG BEGIN_STMT # DEBUG ps => NULL # DEBUG BEGIN_STMT i_41 = i_40 + 2; # DEBUG i => i_41 [local count: 615813175]: # i_40 = PHI <0(11), i_41(12)> # pd4_36 = PHI # DEBUG pd4 => pd4_36 # DEBUG ps => NULL # DEBUG i => i_40 # DEBUG BEGIN_STMT if (rdlen_6 > i_40) goto ; [89.00%] else goto ; [11.00%] [local count: 97478719]: # DEBUG BEGIN_STMT _42 = EEP_ADDR_TABLE[_2][3]; pd1_43 = (volatile vuint8_t *) _42; # DEBUG pd1 => pd1_43 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 788691460]: # DEBUG BEGIN_STMT # DEBUG D#6 => pd1_44 + 1 # DEBUG pd1 => D#6 _45 ={v} *pd1_44; _46 = (long unsigned int) _45; t[0] ={v} _46; # DEBUG BEGIN_STMT _47 ={v} t[0]; _48 = _47 << 24; t[0] ={v} _48; # DEBUG BEGIN_STMT # DEBUG D#5 => D#6 + 1 # DEBUG pd1 => D#5 _49 ={v} MEM[(volatile vuint8_t *)pd1_44 + 1B]; k_50 = (uint32_t) _49; # DEBUG k => k_50 # DEBUG BEGIN_STMT k_51 = k_50 << 16; # DEBUG k => k_51 # DEBUG BEGIN_STMT _52 ={v} t[0]; _53 = k_51 + _52; t[0] ={v} _53; # DEBUG BEGIN_STMT # DEBUG D#4 => D#5 + 1 # DEBUG pd1 => D#4 _54 ={v} MEM[(volatile vuint8_t *)pd1_44 + 2B]; k_55 = (uint32_t) _54; # DEBUG k => k_55 # DEBUG BEGIN_STMT k_56 = k_55 << 8; # DEBUG k => k_56 # DEBUG BEGIN_STMT _57 ={v} t[0]; _58 = k_56 + _57; t[0] ={v} _58; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG D#3 => D#4 + 1 # DEBUG pd1 => D#3 _59 ={v} MEM[(volatile vuint8_t *)pd1_44 + 3B]; _60 ={v} t[0]; _61 = (long unsigned int) _59; _62 = _60 + _61; t[0] ={v} _62; # DEBUG BEGIN_STMT # DEBUG D#2 => D#3 + 1 # DEBUG pd1 => D#2 _63 ={v} MEM[(volatile vuint8_t *)pd1_44 + 4B]; _64 = (long unsigned int) _63; t[1] ={v} _64; # DEBUG BEGIN_STMT _65 ={v} t[1]; _66 = _65 << 24; t[1] ={v} _66; # DEBUG BEGIN_STMT # DEBUG D#1 => D#2 + 1 # DEBUG pd1 => D#1 _67 ={v} MEM[(volatile vuint8_t *)pd1_44 + 5B]; k_68 = (uint32_t) _67; # DEBUG k => k_68 # DEBUG BEGIN_STMT k_69 = k_68 << 16; # DEBUG k => k_69 # DEBUG BEGIN_STMT _70 ={v} t[1]; _71 = k_69 + _70; t[1] ={v} _71; # DEBUG BEGIN_STMT # DEBUG pd1 => D#1 + 1 _72 ={v} MEM[(volatile vuint8_t *)pd1_44 + 6B]; k_73 = (uint32_t) _72; # DEBUG k => k_73 # DEBUG BEGIN_STMT k_74 = k_73 << 8; # DEBUG k => k_74 # DEBUG BEGIN_STMT _75 ={v} t[1]; _76 = k_74 + _75; t[1] ={v} _76; # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pd1_77 = &MEM[(void *)pd1_44 + 8B]; # DEBUG pd1 => pd1_77 _78 ={v} MEM[(volatile vuint8_t *)pd1_44 + 7B]; _79 ={v} t[1]; _80 = (long unsigned int) _78; _81 = _79 + _80; t[1] ={v} _81; # DEBUG BEGIN_STMT programDword_data_flash (ps_82, &t); # DEBUG r => NULL # DEBUG BEGIN_STMT ps_83 = ps_82 + 8; # DEBUG ps => ps_83 # DEBUG BEGIN_STMT i_85 = i_84 + 2; # DEBUG i => i_85 [local count: 886170179]: # i_84 = PHI <0(14), i_85(15)> # ps_82 = PHI # pd1_44 = PHI # DEBUG pd1 => pd1_44 # DEBUG ps => ps_82 # DEBUG i => i_84 # DEBUG BEGIN_STMT if (rdlen_6 > i_84) goto ; [89.00%] else goto ; [11.00%] [local count: 1073741824]: return; } init_table_setup () { short int _1; short int _2; [local count: 1073741823]: # DEBUG BEGIN_STMT _1 = read_sign_cs (); if (_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT # DEBUG block => 0 # DEBUG INLINE_ENTRY table_read # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG D#11 => 0 table_read.part.0 (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 708669604]: # DEBUG BEGIN_STMT _2 = read_sign_cs (); if (_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 240947665]: # DEBUG BEGIN_STMT # DEBUG block => 0 # DEBUG INLINE_ENTRY table_read # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG D#11 => 0 table_read.part.0 (); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 467721938]: # DEBUG BEGIN_STMT table_write (0); # DEBUG BEGIN_STMT read_sign_cs (); [local count: 1073741824]: # DEBUG block => NULL # DEBUG i => NULL # DEBUG block => NULL # DEBUG i => NULL # DEBUG BEGIN_STMT dtc_read (); return; } read_sign_cs () { volatile vuint32_t buf[8]; volatile vuint32_t * p; uint32_t i; long unsigned int _1; long unsigned int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; int16_t _9; [local count: 214748364]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG p => 8388624B # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 858993459]: # DEBUG BEGIN_STMT p_16 = p_8 + 4; # DEBUG p => p_16 _1 ={v} *p_8; buf[i_7] ={v} _1; # DEBUG BEGIN_STMT i_18 = i_7 + 1; # DEBUG i => i_18 [local count: 1073741824]: # i_7 = PHI <0(2), i_18(3)> # p_8 = PHI <8388624B(2), p_16(3)> # DEBUG p => p_8 # DEBUG i => i_7 # DEBUG BEGIN_STMT if (i_7 != 4) goto ; [80.00%] else goto ; [20.00%] [local count: 214748365]: # DEBUG BEGIN_STMT _2 ={v} buf[0]; _3 ={v} buf[1]; _4 ={v} buf[2]; _5 ={v} buf[3]; monprintf ("\n\r%08X,%08X,%08X,%08X\n\r", _2, _3, _4, _5); # DEBUG BEGIN_STMT _6 ={v} buf[1]; if (_6 == 1008) goto ; [34.00%] else goto ; [66.00%] [local count: 73014444]: # DEBUG BEGIN_STMT monprintf ("sign ok \n\r"); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 141733921]: # DEBUG BEGIN_STMT monprintf ("sign FAIL\n\n\r"); # DEBUG BEGIN_STMT [local count: 214748365]: # _9 = PHI <1(6), -1(7)> return _9; } table_read (uint16_t block) { uint8_t i; [local count: 71511204]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (block_4(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 35755602]: # i_2 = PHI <0(2)> # DEBUG D#11 => block_4(D) table_read.part.0 (); [local count: 71511205]: # DEBUG BEGIN_STMT return 0; } table_write (uint16_t block) { volatile vuint32_t p; volatile vuint32_t t[2]; uint16_t i; long unsigned int p.25_1; [local count: 35755602]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 1037986221]: # DEBUG BEGIN_STMT write_table_n (i_2); # DEBUG BEGIN_STMT i_10 = i_2 + 1; # DEBUG i => i_10 [local count: 1073741824]: # i_2 = PHI <0(2), i_10(3)> # DEBUG i => i_2 # DEBUG BEGIN_STMT if (i_2 != 29) goto ; [96.67%] else goto ; [3.33%] [local count: 35755603]: # DEBUG BEGIN_STMT t[0] ={v} 2882400085; # DEBUG BEGIN_STMT t[1] ={v} 1008; # DEBUG BEGIN_STMT p ={v} 8388624; # DEBUG BEGIN_STMT p.25_1 ={v} p; programDword_data_flash (p.25_1, &t); # DEBUG i => NULL # DEBUG BEGIN_STMT return 0; } read_table_n (uint16_t n) { volatile vuint8_t * pd1; volatile vuint16_t * pd2; volatile vuint32_t * pd4; volatile vuint32_t * ps; unsigned int k; unsigned int wr; unsigned int wrlen; int _1; int _2; long unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; unsigned int _9; unsigned int _10; volatile vuint16_t * _11; short unsigned int _12; unsigned int _13; volatile vuint16_t * _14; short unsigned int _15; long unsigned int _16; long unsigned int _17; unsigned int _18; volatile vuint32_t * _19; long unsigned int _20; unsigned int _21; volatile vuint8_t * _22; unsigned char _23; unsigned int _24; volatile vuint8_t * _25; unsigned char _26; unsigned int _27; volatile vuint8_t * _28; unsigned char _29; volatile vuint8_t * _30; unsigned char _31; [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (n_42(D) > 28) goto ; [20.24%] else goto ; [79.76%] [local count: 217325345]: # DEBUG BEGIN_STMT _1 = (int) n_42(D); monprintf ("table over %d\n\r", _1); # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 856416478]: # DEBUG BEGIN_STMT _2 = (int) n_42(D); _3 = EEP_ADDR_TABLE[_2][0]; if (_3 == 65535) goto ; [20.97%] else goto ; [79.03%] [local count: 676825943]: # DEBUG BEGIN_STMT _4 = EEP_ADDR_TABLE[_2][7]; if (_4 != 1) goto ; [50.00%] else goto ; [50.00%] [local count: 338412971]: # DEBUG BEGIN_STMT _5 = EEP_ADDR_TABLE[_2][4]; if (_5 == 7) goto ; [20.97%] else goto ; [79.03%] [local count: 267447771]: # DEBUG BEGIN_STMT # DEBUG D#10 => EEP_ADDR_TABLE[_2][1] # DEBUG rdlen => D#10 # DEBUG BEGIN_STMT # DEBUG rdlen => D#10 >> 2 # DEBUG BEGIN_STMT wrlen_44 = EEP_ADDR_TABLE[_2][2]; # DEBUG wrlen => wrlen_44 # DEBUG BEGIN_STMT _6 = _3 + 8388608; ps_45 = (volatile vuint32_t *) _6; # DEBUG ps => ps_45 # DEBUG BEGIN_STMT # DEBUG wr => 0 # DEBUG BEGIN_STMT _7 = _5 + 4294967294; if (_7 <= 1) goto ; [41.00%] else goto ; [59.00%] [local count: 109653586]: # DEBUG BEGIN_STMT wrlen_63 = wrlen_44 >> 1; # DEBUG wrlen => wrlen_63 # DEBUG BEGIN_STMT _8 = EEP_ADDR_TABLE[_2][3]; pd2_64 = (volatile vuint16_t *) _8; # DEBUG pd2 => pd2_64 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 998203895]: # DEBUG BEGIN_STMT ps_65 = ps_35 + 4; # DEBUG ps => ps_65 k_66 ={v} *ps_35; # DEBUG k => k_66 # DEBUG BEGIN_STMT _9 = k_66 >> 16; wr_67 = wr_32 + 1; # DEBUG wr => wr_67 _10 = wr_32 * 2; _11 = pd2_64 + _10; _12 = (short unsigned int) _9; *_11 ={v} _12; # DEBUG BEGIN_STMT if (wrlen_63 <= wr_67) goto ; [3.66%] else goto ; [96.34%] [local count: 961669632]: # DEBUG BEGIN_STMT wr_69 = wr_32 + 2; # DEBUG wr => wr_69 _13 = wr_67 * 2; _14 = pd2_64 + _13; _15 = (short unsigned int) k_66; *_14 ={v} _15; # DEBUG BEGIN_STMT if (wrlen_63 <= wr_69) goto ; [3.66%] else goto ; [96.34%] [local count: 926472522]: [local count: 1036126112]: # wr_32 = PHI <0(8), wr_69(23)> # ps_35 = PHI # DEBUG ps => ps_35 # DEBUG wr => wr_32 # DEBUG BEGIN_STMT if (wr_32 < wrlen_63) goto ; [96.34%] else goto ; [3.66%] [local count: 157794185]: # DEBUG BEGIN_STMT _16 = _5 + 4294967292; if (_16 <= 1) goto ; [41.00%] else goto ; [59.00%] [local count: 64695616]: # DEBUG BEGIN_STMT wrlen_57 = wrlen_44 >> 2; # DEBUG wrlen => wrlen_57 # DEBUG BEGIN_STMT _17 = EEP_ADDR_TABLE[_2][3]; pd4_58 = (volatile vuint32_t *) _17; # DEBUG pd4 => pd4_58 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 523446350]: # DEBUG BEGIN_STMT ps_59 = ps_36 + 4; # DEBUG ps => ps_59 k_60 ={v} *ps_36; # DEBUG k => k_60 # DEBUG BEGIN_STMT wr_61 = wr_33 + 1; # DEBUG wr => wr_61 _18 = wr_33 * 4; _19 = pd4_58 + _18; *_19 ={v} k_60; [local count: 588141967]: # wr_33 = PHI <0(13), wr_61(14)> # ps_36 = PHI # DEBUG ps => ps_36 # DEBUG wr => wr_33 # DEBUG BEGIN_STMT if (wr_33 < wrlen_57) goto ; [89.00%] else goto ; [11.00%] [local count: 93098569]: # DEBUG BEGIN_STMT _20 = EEP_ADDR_TABLE[_2][3]; pd1_46 = (volatile vuint8_t *) _20; # DEBUG pd1 => pd1_46 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 864961090]: # DEBUG BEGIN_STMT ps_47 = ps_37 + 4; # DEBUG ps => ps_47 k_48 ={v} *ps_37; # DEBUG k => k_48 # DEBUG BEGIN_STMT _21 = k_48 >> 24; wr_49 = wr_34 + 1; # DEBUG wr => wr_49 _22 = pd1_46 + wr_34; _23 = (unsigned char) _21; *_22 ={v} _23; # DEBUG BEGIN_STMT if (wrlen_44 <= wr_49) goto ; [2.20%] else goto ; [97.80%] [local count: 845931946]: # DEBUG BEGIN_STMT _24 = k_48 >> 16; wr_51 = wr_34 + 2; # DEBUG wr => wr_51 _25 = pd1_46 + wr_49; _26 = (unsigned char) _24; *_25 ={v} _26; # DEBUG BEGIN_STMT if (wrlen_44 <= wr_51) goto ; [2.20%] else goto ; [97.80%] [local count: 827321443]: # DEBUG BEGIN_STMT _27 = k_48 >> 8; wr_53 = wr_34 + 3; # DEBUG wr => wr_53 _28 = pd1_46 + wr_51; _29 = (unsigned char) _27; *_28 ={v} _29; # DEBUG BEGIN_STMT if (wrlen_44 <= wr_53) goto ; [2.20%] else goto ; [97.80%] [local count: 809120371]: # DEBUG BEGIN_STMT wr_55 = wr_34 + 4; # DEBUG wr => wr_55 _30 = pd1_46 + wr_53; _31 = (unsigned char) k_48; *_30 ={v} _31; # DEBUG BEGIN_STMT if (wrlen_44 <= wr_55) goto ; [2.20%] else goto ; [97.80%] [local count: 791319723]: [local count: 884418293]: # wr_34 = PHI <0(16), wr_55(24)> # ps_37 = PHI # DEBUG ps => ps_37 # DEBUG wr => wr_34 # DEBUG BEGIN_STMT if (wr_34 < wrlen_44) goto ; [97.80%] else goto ; [2.20%] [local count: 1073741824]: return; } write_table_n (uint16_t n) { [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (n_1(D) > 28) goto ; [34.00%] else goto ; [66.00%] [local count: 708669599]: write_table_n.part.0 (n_1(D)); [local count: 1073741824]: return; } table_did_maping_write (uint16_t did) { uint16_t retval.36; [local count: 1073741824]: retval.36_2 = table_did_maping (did_1(D)); [tail call] return retval.36_2; } table_did_maping (uint16_t did) { uint16_t rt; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG rt => 65535 # DEBUG BEGIN_STMT switch (did_2(D)) [3.33%], case 61456: [3.33%], case 61457: [3.33%], case 61458: [3.33%], case 61459: [3.33%], case 61460: [3.33%], case 61461: [3.33%], case 61462: [3.33%], case 61463: [3.33%], case 61464: [3.33%], case 61465: [3.33%], case 61466: [3.33%], case 61467: [3.33%], case 61468: [3.33%], case 61469: [3.33%], case 61470: [3.33%], case 61471: [3.33%], case 61472: [3.33%], case 61473: [3.33%], case 61474: [3.33%], case 61475: [3.33%], case 61476: [3.33%], case 61477: [3.33%], case 61478: [3.33%], case 61479: [3.33%], case 61480: [3.33%], case 61831: [3.33%], case 61832: [3.33%], case 61843: [3.33%], case 61845: [3.33%]> [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 1 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 2 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 3 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 4 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 5 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 6 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 7 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 8 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 9 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 10 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 10 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 11 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 12 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 13 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 14 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 15 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 16 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 17 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 18 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 19 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 20 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 20 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 21 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 22 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 23 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 24 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 25 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 26 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 35755603]: : # DEBUG BEGIN_STMT # DEBUG rt => 65535 # DEBUG BEGIN_STMT [local count: 1072668089]: # rt_1 = PHI <0(2), 1(3), 2(4), 3(5), 4(6), 5(7), 6(8), 7(9), 8(10), 9(11), 10(12), 10(13), 11(14), 12(15), 13(16), 14(17), 15(18), 16(19), 17(20), 18(21), 19(22), 20(23), 20(24), 21(25), 22(26), 23(27), 24(28), 25(29), 26(30), 65535(31)> : # DEBUG rt => rt_1 # DEBUG BEGIN_STMT return rt_1; }