Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0) @06f488c0 Type: function definition analyzed Visibility: artificial References: Referring: Availability: local Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (37904965 (estimated locally),0.11 per call) Calls: ReportClockErrors/8 (1073741824 (estimated locally),1.00 per call) ReportClockErrors/8 (ReportClockErrors) @06f42540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (1073741824 (estimated locally),1.00 per call) Calls: ClockTimeoutExpired/7 (ClockTimeoutExpired) @06f42460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (1073741824 (estimated locally),3.08 per call) Calls: ClockStartTimeout/6 (ClockStartTimeout) @06f42380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (114863532 (estimated locally),0.33 per call) Calls: cgm/5 (cgm) @06f441b0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read) Availability: not_available Varpool flags: read-only clockFeatures/4 (clockFeatures) @06f44168 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (read)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (read) Availability: not_available Varpool flags: read-only TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06ebaee0 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read) Referring: dividerTriggerCallbacks/0 (addr) Availability: available Function flags: count:348071309 (estimated locally) body optimize_size Called by: Calls: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/7 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/6 (114863532 (estimated locally),0.33 per call) ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06ebae00 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read) Referring: dividerTriggerCallbacks/0 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06ebab60 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: dividerTriggerCallbacks/0 (dividerTriggerCallbacks) @06eb49d8 Type: variable definition analyzed Visibility: externally_visible public References: Callback_DividerTriggerEmpty/1 (addr)Callback_DividerTriggerEmpty/1 (addr)ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (addr)TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (addr) Referring: Availability: available Varpool flags: initialized read-only const-value-known TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0 (const struct Clock_Ip_DividerTriggerConfigType * config) { uint32 instance; uint32 selectorIndex; boolean TimeoutOccurred; uint32 StartTime; uint32 ElapsedTime; uint32 TimeoutTicks; uint32 DividerStatus; _2; [local count: 1073741824]: [local count: 1073741824]: # DEBUG BEGIN_STMT _2 = config_1(D)->name; ReportClockErrors (1, _2); [local count: 1073741824]: StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config) { uint32 DividerStatus; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; uint32 selectorIndex; uint32 instance; _1; int _2; unsigned char _3; unsigned char _6; _7; volatile struct cgmMux_Type * _8; long unsigned int _9; long unsigned int TimeoutTicks.0_10; [local count: 348071309]: # DEBUG BEGIN_STMT _1 = config_14(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_15 = (uint32) _3; # DEBUG instance => instance_15 # DEBUG BEGIN_STMT _6 = clockFeatures[_2][2]; selectorIndex_16 = (uint32) _6; # DEBUG selectorIndex => selectorIndex_16 # DEBUG BEGIN_STMT # DEBUG TimeoutOccurred => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _7 = config_14(D)->triggerType; if (_7 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 114863532]: # DEBUG BEGIN_STMT _8 = cgm[instance_15][selectorIndex_16]; _8->MUX_DIV_TRIG ={v} 1; # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _9 ={v} _8->MUX_DIV_UPD_STAT; DividerStatus_19 = _9 & 1; # DEBUG DividerStatus => DividerStatus_19 # DEBUG BEGIN_STMT TimeoutTicks.0_10 = TimeoutTicks; TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_10); # DEBUG TimeoutOccurred => TimeoutOccurred_21 # DEBUG BEGIN_STMT if (DividerStatus_19 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1014686025]: if (TimeoutOccurred_21 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 114863532]: # TimeoutOccurred_4 = PHI # DEBUG BEGIN_STMT if (TimeoutOccurred_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 37904965]: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0 (config_14(D)); [local count: 348071309]: StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } ConfigureCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config) { uint32 selectorIndex; uint32 instance; _1; int _2; unsigned char _3; unsigned char _4; _5; volatile struct cgmMux_Type * _6; volatile struct cgmMux_Type * _7; long unsigned int _8; long unsigned int _9; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = config_12(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_13 = (uint32) _3; # DEBUG instance => instance_13 # DEBUG BEGIN_STMT _4 = clockFeatures[_2][2]; selectorIndex_14 = (uint32) _4; # DEBUG selectorIndex => selectorIndex_14 # DEBUG BEGIN_STMT _5 = config_12(D)->triggerType; if (_5 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _6 = cgm[instance_13][selectorIndex_14]; _6->MUX_DIV_TRIG_CTRL ={v} 1; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _7 = cgm[instance_13][selectorIndex_14]; _8 ={v} _7->MUX_DIV_TRIG_CTRL; _9 = _8 & 4294967294; _7->MUX_DIV_TRIG_CTRL ={v} _9; [local count: 1073741824]: return; } Callback_DividerTriggerEmpty (const struct Clock_Ip_DividerTriggerConfigType * config) { [local count: 1073741824]: # DEBUG BEGIN_STMT return; }