Symbol table: Emios_Pwm_Ip_aDaocDuty/47 (Emios_Pwm_Ip_aDaocDuty) @06a8d0d8 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) @06a8d090 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) @06a84540 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) @06a814c8 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) @06a813f0 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) @06ad2c40 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) @06ad22a0 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) @06ac2380 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 (*) (void *) _4; void * _5; int _12; long unsigned int _13; long unsigned int _14; [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 ; [70.00%] else goto ; [30.00%] [local count: 751619278]: # DEBUG BEGIN_STMT _4 = _3->cbFunction; _5 = _3->cbParameter; _4 (_5); [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; _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; _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; [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 => () 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 ; [51.12%] else goto ; [48.88%] [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 ; [50.00%] else goto ; [50.00%] [local count: 274448410]: [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 ; [50.00%] else goto ; [50.00%] [local count: 274448410]: [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 ; [100.00%] [local count: 524845004]: # DEBUG BEGIN_STMT _16 = Emios_Pwm_Ip_GetPwmMode (_2, channel_39(D)); if (_16 == 7) goto ; [34.00%] else goto ; [66.00%] [local count: 178447301]: # DEBUG BEGIN_STMT if (_54 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 89223651]: if (_51 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 133835476]: if (_54 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 66917738]: if (_51 != 0) goto ; [50.00%] else goto ; [50.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 39035347]: [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 ; [100.00%] [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 ; [50.00%] else goto ; [50.00%] [local count: 50188304]: [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; [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; [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) [7.69%], case 1: [7.69%], case 6: [7.69%], case 7: [7.69%], case 38: [7.69%], case 88: [7.69%], case 90: [7.69%], case 92: [7.69%], case 93: [7.69%], case 94: [7.69%], case 95: [7.69%], case 96: [7.69%], case 98: [7.69%]> [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 6 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 7 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 38 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 88 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 90 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 92 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 94 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 93 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 95 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 96 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 98 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 82570746]: : # DEBUG BEGIN_STMT # DEBUG mode => 255 # DEBUG BEGIN_STMT [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)> : # DEBUG mode => mode_4 # DEBUG BEGIN_STMT return mode_4; }