IPA function summary for Lin_Ip_MakeChecksumByte/2 inlinable
  global time:     78.538920
  self size:       21
  global size:     21
  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:

IPA function summary for Lin_Ip_ProcessParity/1 inlinable
  global time:     25.000000
  self size:       28
  global size:     28
  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:


Flattening functions:
Overall time estimate: 103.538920 weighted by profile: 0.000000

Deciding on inlining of small functions.  Starting with size 0.
Enqueueing calls in Lin_Ip_MakeChecksumByte/2.
Enqueueing calls in Lin_Ip_ProcessParity/1.

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:

Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 103.538920 weighted by profile: 0.000000

Why inlining failed?
IPA function summary for Lin_Ip_MakeChecksumByte/2 inlinable
  global time:     78.538920
  self size:       21
  global size:     21
  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:

IPA function summary for Lin_Ip_ProcessParity/1 inlinable
  global time:     25.000000
  self size:       28
  global size:     28
  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) @06a25e00
  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) @06a25b60
  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)

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)

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;

}


