mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 18:03:59 +09:00
347 lines
8.2 KiB
Plaintext
347 lines
8.2 KiB
Plaintext
|
|
Analyzing function: Lin_Ip_MakeChecksumByte/2
|
|
;; 2 loops found
|
|
;;
|
|
;; Loop 0
|
|
;; header 0, latch 1
|
|
;; depth 0, outer -1
|
|
;; nodes: 0 1 2 3 4 5 6 11 8 9 10 13 12
|
|
;;
|
|
;; Loop 1
|
|
;; header 13, latch 10
|
|
;; depth 1, outer 0
|
|
;; nodes: 13 10 8 9
|
|
;; 2 succs { 3 11 }
|
|
;; 3 succs { 4 11 }
|
|
;; 4 succs { 5 11 }
|
|
;; 5 succs { 6 11 }
|
|
;; 6 succs { 11 }
|
|
;; 11 succs { 13 }
|
|
;; 8 succs { 9 10 }
|
|
;; 9 succs { 10 }
|
|
;; 10 succs { 13 }
|
|
;; 13 succs { 8 12 }
|
|
;; 12 succs { 1 }
|
|
|
|
Analyzing function body size: Lin_Ip_MakeChecksumByte
|
|
|
|
IPA function summary for Lin_Ip_MakeChecksumByte/2 inlinable
|
|
global time: 78.538920
|
|
self size: 21
|
|
global size: 0
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:10.000000, time:71.772728
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
size:2.000000, time:2.000000, nonconst if:(op2 changed)
|
|
size:2.000000, time:1.320000, executed if:(op2 != 60), nonconst if:(op2 changed) && (op2 != 60)
|
|
size:2.000000, time:0.871200, executed if:(op2 != 125) && (op2 != 60), nonconst if:(op2 changed) && (op2 != 125) && (op2 != 60)
|
|
size:2.000000, time:0.574992, executed if:(op2 != 254) && (op2 != 125) && (op2 != 60), nonconst if:(op2 changed) && (op2 != 254) && (op2 != 125) && (op2 != 60)
|
|
loop iterations:(op1 changed)
|
|
calls:
|
|
|
|
|
|
Analyzing function: Lin_Ip_ProcessParity/1
|
|
;; 1 loops found
|
|
;;
|
|
;; Loop 0
|
|
;; header 0, latch 1
|
|
;; depth 0, outer -1
|
|
;; nodes: 0 1 2 3 4 5 6 7 8 9
|
|
;; 2 succs { 4 3 }
|
|
;; 3 succs { 4 }
|
|
;; 4 succs { 5 7 }
|
|
;; 5 succs { 9 6 }
|
|
;; 6 succs { 9 }
|
|
;; 7 succs { 8 9 }
|
|
;; 8 succs { 9 }
|
|
;; 9 succs { 1 }
|
|
|
|
Analyzing function body size: Lin_Ip_ProcessParity
|
|
|
|
IPA function summary for Lin_Ip_ProcessParity/1 inlinable
|
|
global time: 25.000000
|
|
self size: 28
|
|
global size: 0
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:0.000000, time:0.000000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
size:19.000000, time:19.000000, nonconst if:(op0 changed)
|
|
size:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
size:2.000000, time:1.000000, executed if:(op1 != 0), nonconst if:(op1 changed) && (op1 != 0)
|
|
size:2.000000, time:1.000000, executed if:(op1 == 0), nonconst if:(op0 changed) && (op1 == 0)
|
|
calls:
|
|
|
|
Symbol table:
|
|
|
|
Lin_Ip_MakeChecksumByte/2 (Lin_Ip_MakeChecksumByte) @06985e00
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:118111600 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Lin_Ip_ProcessParity/1 (Lin_Ip_ProcessParity) @06985b60
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Lin_Ip_MakeChecksumByte (const uint8 * pBuffer, const uint8 u8SizeBuffer, const uint8 u8Pid)
|
|
{
|
|
uint16 checksum;
|
|
uint8 length;
|
|
sizetype _1;
|
|
const uint8 * _2;
|
|
unsigned char _3;
|
|
short unsigned int _4;
|
|
unsigned char _6;
|
|
uint8 _15;
|
|
|
|
<bb 2> [local count: 118111600]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG checksum => 0
|
|
# DEBUG BEGIN_STMT
|
|
if (u8Pid_12(D) != 60)
|
|
goto <bb 3>; [66.00%]
|
|
else
|
|
goto <bb 11>; [34.00%]
|
|
|
|
<bb 3> [local count: 77953656]:
|
|
if (u8Pid_12(D) != 125)
|
|
goto <bb 4>; [66.00%]
|
|
else
|
|
goto <bb 11>; [34.00%]
|
|
|
|
<bb 4> [local count: 51449413]:
|
|
if (u8Pid_12(D) != 254)
|
|
goto <bb 5>; [66.00%]
|
|
else
|
|
goto <bb 11>; [34.00%]
|
|
|
|
<bb 5> [local count: 33956613]:
|
|
if (u8Pid_12(D) != 191)
|
|
goto <bb 6>; [66.00%]
|
|
else
|
|
goto <bb 11>; [34.00%]
|
|
|
|
<bb 6> [local count: 22411364]:
|
|
# DEBUG BEGIN_STMT
|
|
checksum_13 = (uint16) u8Pid_12(D);
|
|
# DEBUG checksum => checksum_13
|
|
|
|
<bb 11> [local count: 118111600]:
|
|
# length_8 = PHI <0(3), 0(2), 0(6), 0(4), 0(5)>
|
|
# checksum_11 = PHI <0(3), 0(2), checksum_13(6), 0(4), 0(5)>
|
|
goto <bb 13>; [100.00%]
|
|
|
|
<bb 8> [local count: 955630224]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (sizetype) length_7;
|
|
_2 = pBuffer_17(D) + _1;
|
|
_3 = *_2;
|
|
_4 = (short unsigned int) _3;
|
|
checksum_18 = _4 + checksum_10;
|
|
# DEBUG checksum => checksum_18
|
|
# DEBUG BEGIN_STMT
|
|
if (checksum_18 > 255)
|
|
goto <bb 9>; [50.00%]
|
|
else
|
|
goto <bb 10>; [50.00%]
|
|
|
|
<bb 9> [local count: 477815112]:
|
|
# DEBUG BEGIN_STMT
|
|
checksum_19 = checksum_18 + 65281;
|
|
# DEBUG checksum => checksum_19
|
|
|
|
<bb 10> [local count: 955630224]:
|
|
# checksum_9 = PHI <checksum_18(8), checksum_19(9)>
|
|
# DEBUG checksum => checksum_9
|
|
# DEBUG BEGIN_STMT
|
|
length_20 = length_7 + 1;
|
|
# DEBUG length => length_20
|
|
|
|
<bb 13> [local count: 1073741824]:
|
|
# length_7 = PHI <length_8(11), length_20(10)>
|
|
# checksum_10 = PHI <checksum_11(11), checksum_9(10)>
|
|
# DEBUG checksum => checksum_10
|
|
# DEBUG length => length_7
|
|
# DEBUG BEGIN_STMT
|
|
if (length_7 < u8SizeBuffer_14(D))
|
|
goto <bb 8>; [89.00%]
|
|
else
|
|
goto <bb 12>; [11.00%]
|
|
|
|
<bb 12> [local count: 118111601]:
|
|
# checksum_5 = PHI <checksum_10(13)>
|
|
# DEBUG BEGIN_STMT
|
|
_6 = (unsigned char) checksum_5;
|
|
_15 = ~_6;
|
|
return _15;
|
|
|
|
}
|
|
|
|
|
|
Lin_Ip_ProcessParity (const uint8 u8Pid, const Lin_Ip_ParityActionType eTypeAction)
|
|
{
|
|
uint8 retVal;
|
|
uint8 u8CalPid;
|
|
unsigned char _1;
|
|
unsigned char _2;
|
|
unsigned char iftmp.0_4;
|
|
unsigned char _7;
|
|
unsigned char _9;
|
|
int _10;
|
|
unsigned char _11;
|
|
unsigned char _14;
|
|
int _15;
|
|
unsigned char _16;
|
|
unsigned char _17;
|
|
unsigned char _18;
|
|
int _19;
|
|
unsigned char _20;
|
|
unsigned char _21;
|
|
int _22;
|
|
unsigned char _23;
|
|
unsigned char _24;
|
|
int _25;
|
|
unsigned char _26;
|
|
int _27;
|
|
unsigned char _28;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
u8CalPid_6 = u8Pid_5(D) & 63;
|
|
# DEBUG u8CalPid => u8CalPid_6
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG retVal => 255
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 0
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_27 = (int) u8Pid_5(D);
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 1
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_25 = _27 >> 1;
|
|
_26 = (unsigned char) _25;
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_7 = u8Pid_5(D) ^ _26;
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 2
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_22 = _27 >> 2;
|
|
_23 = (unsigned char) _22;
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_28 = _7 ^ _23;
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 4
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_19 = _27 >> 4;
|
|
_20 = (unsigned char) _19;
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_24 = _20 ^ _28;
|
|
_21 = _24 << 6;
|
|
_1 = _21 & 64;
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 1
|
|
# DEBUG INLINE_ENTRY NULL
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 3
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_15 = _27 >> 3;
|
|
_16 = (unsigned char) _15;
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_18 = _16 ^ _26;
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 4
|
|
# DEBUG INLINE_ENTRY NULL
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_17 = _18 ^ _20;
|
|
# DEBUG A => u8Pid_5(D)
|
|
# DEBUG B => 5
|
|
# DEBUG INLINE_ENTRY BIT
|
|
# DEBUG BEGIN_STMT
|
|
_10 = _27 >> 5;
|
|
_9 = (unsigned char) _10;
|
|
# DEBUG A => NULL
|
|
# DEBUG B => NULL
|
|
_14 = _9 ^ _17;
|
|
_2 = _14 & 1;
|
|
if (_2 == 0)
|
|
goto <bb 4>; [50.00%]
|
|
else
|
|
goto <bb 3>; [50.00%]
|
|
|
|
<bb 3> [local count: 536870913]:
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# iftmp.0_4 = PHI <128(2), 0(3)>
|
|
_11 = _1 | iftmp.0_4;
|
|
u8CalPid_12 = u8CalPid_6 | _11;
|
|
# DEBUG u8CalPid => u8CalPid_12
|
|
# DEBUG BEGIN_STMT
|
|
if (eTypeAction_13(D) == 0)
|
|
goto <bb 5>; [50.00%]
|
|
else
|
|
goto <bb 7>; [50.00%]
|
|
|
|
<bb 5> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
if (u8Pid_5(D) != u8CalPid_12)
|
|
goto <bb 9>; [51.11%]
|
|
else
|
|
goto <bb 6>; [48.89%]
|
|
|
|
<bb 6> [local count: 262476189]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG retVal => u8CalPid_6
|
|
goto <bb 9>; [100.00%]
|
|
|
|
<bb 7> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
if (eTypeAction_13(D) == 1)
|
|
goto <bb 8>; [48.89%]
|
|
else
|
|
goto <bb 9>; [51.11%]
|
|
|
|
<bb 8> [local count: 262476189]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG retVal => u8CalPid_12
|
|
|
|
<bb 9> [local count: 1073741824]:
|
|
# retVal_3 = PHI <u8CalPid_6(6), 255(7), u8CalPid_12(8), 255(5)>
|
|
# DEBUG retVal => retVal_3
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
return retVal_3;
|
|
|
|
}
|
|
|
|
|