Symbol table:

Emios_Pwm_Ip_aDaocDuty/47 (Emios_Pwm_Ip_aDaocDuty) @06bf00d8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqDaocHandler/41 (read)
  Availability: not_available
  Varpool flags:
Emios_Pwm_Ip_aPeriod/46 (Emios_Pwm_Ip_aPeriod) @06bf0090
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqDaocHandler/41 (read)
  Availability: not_available
  Varpool flags:
Emios_Pwm_Ip_GetMasterBusChannel/45 (Emios_Pwm_Ip_GetMasterBusChannel) @06be7540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Emios_Pwm_Ip_aNotificationPtr/44 (Emios_Pwm_Ip_aNotificationPtr) @06be44c8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Emios_Pwm_Ip_IrqHandler/42 (read)
  Availability: not_available
  Varpool flags:
Emios_Pwm_Ip_aBasePtr/43 (Emios_Pwm_Ip_aBasePtr) @06be43f0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqHandler/42 (read)
  Availability: not_available
  Varpool flags: read-only
Emios_Pwm_Ip_IrqHandler/42 (Emios_Pwm_Ip_IrqHandler) @06bddc40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aNotificationPtr/44 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call) 
   Indirect call(751619278 (estimated locally),0.70 per call) 
Emios_Pwm_Ip_IrqDaocHandler/41 (Emios_Pwm_Ip_IrqDaocHandler) @06bdd2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Emios_Pwm_Ip_IrqHandler/42 (1073741824 (estimated locally),1.00 per call) 
  Calls: Emios_Pwm_Ip_GetPwmMode/27 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_GetPwmMode/27 (1073741824 (estimated locally),1.00 per call) Emios_Pwm_Ip_GetMasterBusChannel/45 (1073741824 (estimated locally),1.00 per call) 
Emios_Pwm_Ip_GetPwmMode/27 (Emios_Pwm_Ip_GetPwmMode) @06bcd380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Emios_Pwm_Ip_IrqHandler (uint8 instance, uint8 channel)
{
  int _1;
  struct Emios_Pwm_Ip_HwAddrType * _2;
  const struct Emios_Pwm_Ip_NotificationType * _3;
  void (*<Te3>) (void *) _4;
  void * _5;
  int _12;
  long unsigned int _13;
  long unsigned int _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = (int) instance_7(D);
  _2 = Emios_Pwm_Ip_aBasePtr[_1];
  # DEBUG base => _2
  # DEBUG channel => channel_9(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_ClearFlagEvent
  # DEBUG BEGIN_STMT
  _12 = (int) channel_9(D);
  _13 ={v} _2->CH.UC[_12].S;
  _14 = _13 | 1;
  _2->CH.UC[_12].S ={v} _14;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG BEGIN_STMT
  Emios_Pwm_Ip_IrqDaocHandler (instance_7(D), channel_9(D));
  # DEBUG BEGIN_STMT
  _3 = Emios_Pwm_Ip_aNotificationPtr[_1][_12];
  if (_3 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 4>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _4 = _3->cbFunction;
  _5 = _3->cbParameter;
  _4 (_5);

  <bb 4> [local count: 1073741824]:
  return;

}


Emios_Pwm_Ip_IrqDaocHandler (uint8 instance, uint8 channel)
{
  uint16 daocRegB;
  uint16 daocRegA;
  uint16 daocDuty;
  int _1;
  struct Emios_Pwm_Ip_HwAddrType * _2;
  unsigned char _3;
  <unnamed type> _4;
  short unsigned int _5;
  short unsigned int _6;
  int _7;
  int _8;
  int _9;
  int _10;
  int _11;
  int _12;
  int _13;
  int _14;
  int _15;
  <unnamed type> _16;
  short unsigned int _17;
  int _18;
  int _19;
  int _20;
  int _21;
  int _22;
  short unsigned int _23;
  int _24;
  int _25;
  int _26;
  int _27;
  int _28;
  uint16 iftmp.0_29;
  uint16 iftmp.1_30;
  uint16 iftmp.2_31;
  uint16 iftmp.3_32;
  long unsigned int _34;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int _41;
  long unsigned int _42;
  long unsigned int _50;
  long unsigned int _51;
  int _52;
  long unsigned int _53;
  long unsigned int _54;
  int _55;
  long unsigned int _56;
  short unsigned int _57;
  long unsigned int _58;
  long unsigned int _59;
  long unsigned int _60;
  long unsigned int _61;
  long unsigned int _62;
  long unsigned int _63;
  long unsigned int _64;
  long unsigned int _65;
  long unsigned int _66;
  long unsigned int _67;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG daocDuty => 0
  # DEBUG BEGIN_STMT
  # DEBUG daocRegA => 0
  # DEBUG BEGIN_STMT
  # DEBUG daocRegB => 0
  # DEBUG BEGIN_STMT
  _1 = (int) instance_37(D);
  _2 = Emios_Pwm_Ip_aBasePtr[_1];
  _3 = Emios_Pwm_Ip_GetMasterBusChannel (instance_37(D), channel_39(D));
  # DEBUG base => _2
  # DEBUG channel => _3
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
  # DEBUG BEGIN_STMT
  _55 = (int) _3;
  _56 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_55].A;
  _57 = (short unsigned int) _56;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG counterMax => _57
  # DEBUG BEGIN_STMT
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetEdgePolarity
  # DEBUG BEGIN_STMT
  _52 = (int) channel_39(D);
  _53 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].C;
  _54 = _53 & 128;
  # DEBUG D#1 => _54 != 0
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG polarity => (<unnamed type>) D#1
  # DEBUG BEGIN_STMT
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetOutputPinState
  # DEBUG BEGIN_STMT
  _50 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].S;
  _51 = _50 & 2;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG outputPin => _51 != 0
  # DEBUG BEGIN_STMT
  _4 = Emios_Pwm_Ip_GetPwmMode (_2, channel_39(D));
  if (_4 == 6)
    goto <bb 3>; [51.12%]
  else
    goto <bb 8>; [48.88%]

  <bb 3> [local count: 548896821]:
  # DEBUG BEGIN_STMT
  _5 = Emios_Pwm_Ip_aPeriod[_1][_52];
  _6 = Emios_Pwm_Ip_aDaocDuty[_1][_52];
  daocDuty_47 = _5 - _6;
  # DEBUG daocDuty => daocDuty_47
  # DEBUG BEGIN_STMT
  _7 = (int) daocDuty_47;
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
  # DEBUG BEGIN_STMT
  _58 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].B;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  _41 = _58 & 65535;
  _8 = (int) _41;
  _9 = _7 + _8;
  _67 = _56 & 65535;
  _10 = (int) _67;
  _11 = _9 % _10;
  daocRegA_48 = (uint16) _11;
  # DEBUG daocRegA => daocRegA_48
  # DEBUG BEGIN_STMT
  if (daocRegA_48 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 274448410]:

  <bb 5> [local count: 548896820]:
  # iftmp.0_29 = PHI <_57(3), daocRegA_48(4)>
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG value => iftmp.0_29
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
  # DEBUG BEGIN_STMT
  _60 = (long unsigned int) iftmp.0_29;
  _2->CH.UC[_52].A ={v} _60;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG value => NULL
  # DEBUG BEGIN_STMT
  _12 = (int) _5;
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
  # DEBUG BEGIN_STMT
  _59 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].B;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  _42 = _59 & 65535;
  _13 = (int) _42;
  _14 = _12 + _13;
  _15 = _14 % _10;
  daocRegB_49 = (uint16) _15;
  # DEBUG daocRegB => daocRegB_49
  # DEBUG BEGIN_STMT
  if (daocRegB_49 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 274448410]:

  <bb 7> [local count: 548896820]:
  # iftmp.1_30 = PHI <_57(5), daocRegB_49(6)>
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG value => iftmp.1_30
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
  # DEBUG BEGIN_STMT
  _61 = (long unsigned int) iftmp.1_30;
  _2->CH.UC[_52].B ={v} _61;
  goto <bb 19>; [100.00%]

  <bb 8> [local count: 524845004]:
  # DEBUG BEGIN_STMT
  _16 = Emios_Pwm_Ip_GetPwmMode (_2, channel_39(D));
  if (_16 == 7)
    goto <bb 9>; [34.00%]
  else
    goto <bb 19>; [66.00%]

  <bb 9> [local count: 178447301]:
  # DEBUG BEGIN_STMT
  if (_54 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 89223651]:
  if (_51 == 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 133835476]:
  if (_54 == 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 12> [local count: 66917738]:
  if (_51 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 13> [local count: 78070694]:
  # DEBUG BEGIN_STMT
  _17 = Emios_Pwm_Ip_aPeriod[_1][_52];
  _18 = (int) _17;
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
  # DEBUG BEGIN_STMT
  _62 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].A;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  _36 = _62 & 65535;
  _19 = (int) _36;
  _20 = _18 + _19;
  _66 = _56 & 65535;
  _21 = (int) _66;
  _22 = _20 % _21;
  daocRegA_46 = (uint16) _22;
  # DEBUG daocRegA => daocRegA_46
  # DEBUG BEGIN_STMT
  if (daocRegA_46 == 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 39035347]:

  <bb 15> [local count: 78070694]:
  # iftmp.2_31 = PHI <_57(13), daocRegA_46(14)>
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG value => iftmp.2_31
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
  # DEBUG BEGIN_STMT
  _63 = (long unsigned int) iftmp.2_31;
  _2->CH.UC[_52].A ={v} _63;
  goto <bb 19>; [100.00%]

  <bb 16> [local count: 100376607]:
  # DEBUG BEGIN_STMT
  _23 = Emios_Pwm_Ip_aDaocDuty[_1][_52];
  _24 = (int) _23;
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
  # DEBUG BEGIN_STMT
  _64 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_2].CH.UC[_52].A;
  # DEBUG base => NULL
  # DEBUG channel => NULL
  _34 = _64 & 65535;
  _25 = (int) _34;
  _26 = _24 + _25;
  _35 = _56 & 65535;
  _27 = (int) _35;
  _28 = _26 % _27;
  daocRegB_45 = (uint16) _28;
  # DEBUG daocRegB => daocRegB_45
  # DEBUG BEGIN_STMT
  if (daocRegB_45 == 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 17> [local count: 50188304]:

  <bb 18> [local count: 100376607]:
  # iftmp.3_32 = PHI <_57(16), daocRegB_45(17)>
  # DEBUG base => _2
  # DEBUG channel => channel_39(D)
  # DEBUG value => iftmp.3_32
  # DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
  # DEBUG BEGIN_STMT
  _65 = (long unsigned int) iftmp.3_32;
  _2->CH.UC[_52].B ={v} _65;

  <bb 19> [local count: 1073741823]:
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG value => NULL
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG value => NULL
  # DEBUG base => NULL
  # DEBUG channel => NULL
  # DEBUG value => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


Emios_Pwm_Ip_GetPwmMode (const struct Emios_Pwm_Ip_HwAddrType * const base, uint8 channel)
{
  Emios_Pwm_Ip_PwmModeType mode;
  int _1;
  long unsigned int _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) channel_5(D);
  _2 ={v} base_7(D)->CH.UC[_1].C;
  _3 = _2 & 127;
  switch (_3) <default: <L12> [7.69%], case 1: <L15> [7.69%], case 6: <L1> [7.69%], case 7: <L2> [7.69%], case 38: <L3> [7.69%], case 88: <L4> [7.69%], case 90: <L5> [7.69%], case 92: <L6> [7.69%], case 93: <L8> [7.69%], case 94: <L7> [7.69%], case 95: <L9> [7.69%], case 96: <L10> [7.69%], case 98: <L11> [7.69%]>

  <bb 3> [local count: 82570746]:
<L1>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 6
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 4> [local count: 82570746]:
<L2>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 7
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 5> [local count: 82570746]:
<L3>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 38
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 6> [local count: 82570746]:
<L4>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 88
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 7> [local count: 82570746]:
<L5>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 90
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 8> [local count: 82570746]:
<L6>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 92
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 9> [local count: 82570746]:
<L7>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 94
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 10> [local count: 82570746]:
<L8>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 93
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 11> [local count: 82570746]:
<L9>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 95
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 12> [local count: 82570746]:
<L10>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 96
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 13> [local count: 82570746]:
<L11>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 98
  # DEBUG BEGIN_STMT
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 82570746]:
<L12>:
  # DEBUG BEGIN_STMT
  # DEBUG mode => 255
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 1073419702]:
  # mode_4 = PHI <1(2), 6(3), 7(4), 38(5), 88(6), 90(7), 92(8), 94(9), 93(10), 95(11), 96(12), 98(13), 255(14)>
<L15>:
  # DEBUG mode => mode_4
  # DEBUG BEGIN_STMT
  return mode_4;

}


