ADM/GW/Debug_FLASH/RTD/src/Lin_Ip_Common.c.072i.cp
2024-08-08 10:00:15 +09:00

333 lines
7.5 KiB
C++

IPA constant propagation start:
IPA structures before propagation:
Jump functions:
Jump functions of caller Lin_Ip_MakeChecksumByte/2:
Jump functions of caller Lin_Ip_ProcessParity/1:
Propagating constants:
Not considering Lin_Ip_MakeChecksumByte for cloning; -fipa-cp-clone disabled.
Not considering Lin_Ip_ProcessParity for cloning; -fipa-cp-clone disabled.
overall_size: 49, max_new_size: 11001
IPA lattices after all propagation:
Lattices:
Node: Lin_Ip_MakeChecksumByte/2:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
param [1]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
param [2]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: Lin_Ip_ProcessParity/1:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
param [1]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
IPA decision stage:
IPA constant propagation end
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:
Lin_Ip_MakeChecksumByte/2 (Lin_Ip_MakeChecksumByte) @06955e00
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) @06955b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
;; Function Lin_Ip_ProcessParity (Lin_Ip_ProcessParity, funcdef_no=1, decl_uid=4064, cgraph_uid=2, symbol_order=1)
Modification phase of node Lin_Ip_ProcessParity/1
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;
}
;; Function Lin_Ip_MakeChecksumByte (Lin_Ip_MakeChecksumByte, funcdef_no=2, decl_uid=4068, cgraph_uid=3, symbol_order=2)
Modification phase of node Lin_Ip_MakeChecksumByte/2
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;
}