
Marking local functions: Clock_Ip_DistributePll.part.0 UpdateDriverContext.isra.0 ResetClockConfiguration CallEmptyCallbacks


Marking externally visible functions: ClockTimeoutExpired ClockStartTimeout ReportClockErrors Clock_Ip_EnableModuleClock Clock_Ip_DisableModuleClock Clock_Ip_InstallNotificationsCallback Clock_Ip_PowerModeChangeNotification Clock_Ip_ClearClockMonitorStatus Clock_Ip_GetClockMonitorStatus Clock_Ip_DisableClockMonitor Clock_Ip_DistributePll Clock_Ip_GetPllStatus Clock_Ip_InitClock Clock_Ip_Init


Marking externally visible variables:

Clearing variable flags:

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

Clock_Ip_DistributePll.part.0/55 (Clock_Ip_DistributePll.part.0) @06b339a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read)clockConfig/3 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)clockConfig/3 (read)
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: Clock_Ip_DistributePll/7 (59055800 (estimated locally),0.35 per call) 
  Calls: SpecificPeripheralClockInitialization/45 (118111601 (estimated locally),1.00 per call) DisableSafeClock/46 (118111601 (estimated locally),1.00 per call) 
   Indirect call(955630223 (estimated locally),8.09 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
UpdateDriverContext.isra.0/54 (UpdateDriverContext.isra.0) @06092c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: clockObjectsAreInitialized/1 (read)clockObjectsAreInitialized/1 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Clock_Ip_InitClock/5 (118111600 (estimated locally),1.00 per call) 
  Calls: CallEmptyCallbacks/20 (1073741824 (estimated locally),1.00 per call) ClockInitializeObjects/47 (354334802 (estimated locally),0.33 per call) 
OsIf_GetElapsed/53 (OsIf_GetElapsed) @0607bb60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: ClockTimeoutExpired/18 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
OsIf_MicrosToTicks/52 (OsIf_MicrosToTicks) @0607b9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: ClockStartTimeout/17 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
OsIf_GetCounter/51 (OsIf_GetCounter) @0607b8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: ClockStartTimeout/17 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
ClockPowerModeChangeNotification/50 (ClockPowerModeChangeNotification) @0607b2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_PowerModeChangeNotification/11 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
HwPllName/49 (HwPllName) @06072948
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_GetPllStatus/6 (read)
  Availability: not_available
  Varpool flags: read-only
functionWasCalled.6204/48 (functionWasCalled) @06069ca8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: CallEmptyCallbacks/20 (read)CallEmptyCallbacks/20 (write)
  Availability: available
  Varpool flags: initialized
ClockInitializeObjects/47 (ClockInitializeObjects) @06af12a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_PowerModeChangeNotification/11 (354334802 (estimated locally),0.33 per call) UpdateDriverContext.isra.0/54 (354334802 (estimated locally),0.33 per call) 
  Calls: 
DisableSafeClock/46 (DisableSafeClock) @06af1e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_DistributePll.part.0/55 (118111601 (estimated locally),1.00 per call) Clock_Ip_InitClock/5 (59055800 (estimated locally),0.50 per call) 
  Calls: 
SpecificPeripheralClockInitialization/45 (SpecificPeripheralClockInitialization) @06af1d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_DistributePll.part.0/55 (118111601 (estimated locally),1.00 per call) Clock_Ip_InitClock/5 (59055800 (estimated locally),0.50 per call) 
  Calls: 
gateCallbacks/44 (gateCallbacks) @06065f78
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll.part.0/55 (read)CallEmptyCallbacks/20 (read)CallEmptyCallbacks/20 (read)Clock_Ip_EnableModuleClock/14 (read)
  Availability: not_available
  Varpool flags: read-only
gateCallbackIndex/43 (gateCallbackIndex) @06065f30
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_EnableModuleClock/14 (read)
  Availability: not_available
  Varpool flags: read-only
selectorCallbacks/42 (selectorCallbacks) @06065e58
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)ResetClockConfiguration/21 (read)Clock_Ip_DistributePll/7 (read)
  Availability: not_available
  Varpool flags: read-only
selectorCallbackIndex/41 (selectorCallbackIndex) @06065e10
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)ResetClockConfiguration/21 (read)Clock_Ip_DistributePll/7 (read)
  Availability: not_available
  Varpool flags: read-only
sourceType_clockName/40 (sourceType_clockName) @06065dc8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read)
  Availability: not_available
  Varpool flags: read-only
fracDivCallbacks/39 (fracDivCallbacks) @06065cf0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)ResetClockConfiguration/21 (read)CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
fractional_dividerCallbackIndex/38 (fractional_dividerCallbackIndex) @06065ca8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
pllCallbacks/37 (pllCallbacks) @06065a20
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read)
  Availability: not_available
  Varpool flags: read-only
pllCallbackIndex/36 (pllCallbackIndex) @060659d8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read)
  Availability: not_available
  Varpool flags: read-only
dividerCallbacks/35 (dividerCallbacks) @06065870
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
dividerCallbackIndex/34 (dividerCallbackIndex) @06065828
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
dividerTriggerCallbacks/33 (dividerTriggerCallbacks) @06065750
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
dividertriggerCallbackIndex/32 (dividertriggerCallbackIndex) @06065708
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
pcfsCallbacks/31 (pcfsCallbacks) @06065630
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
pcfsCallbackIndex/30 (pcfsCallbackIndex) @060655e8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
extOscCallbacks/29 (extOscCallbacks) @060654c8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ResetClockConfiguration/21 (read)CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
xoscCallbackIndex/28 (xoscCallbackIndex) @06065480
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
intOscCallbacks/27 (intOscCallbacks) @060653a8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
ircoscCallbackIndex/26 (ircoscCallbackIndex) @06065360
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)
  Availability: not_available
  Varpool flags: read-only
SpecificPlatformInitClock/25 (SpecificPlatformInitClock) @06af1b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Clock_Ip_InitClock/5 (118111600 (estimated locally),1.00 per call) 
  Calls: 
cmuCallbacks/24 (cmuCallbacks) @060651f8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: CallEmptyCallbacks/20 (read)CallEmptyCallbacks/20 (read)Clock_Ip_GetClockMonitorStatus/9 (read)CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DisableClockMonitor/8 (read)CallEmptyCallbacks/20 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_ClearClockMonitorStatus/10 (read)
  Availability: not_available
  Varpool flags: read-only
cmuCallbackIndex/23 (cmuCallbackIndex) @060651b0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DisableClockMonitor/8 (read)Clock_Ip_GetClockMonitorStatus/9 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_ClearClockMonitorStatus/10 (read)
  Availability: not_available
  Varpool flags: read-only
clockFeatures/22 (clockFeatures) @06065168
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DisableModuleClock/13 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DisableClockMonitor/8 (read)Clock_Ip_GetClockMonitorStatus/9 (read)Clock_Ip_ClearClockMonitorStatus/10 (read)ResetClockConfiguration/21 (read)ResetClockConfiguration/21 (read)ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_GetPllStatus/6 (read)ResetClockConfiguration/21 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_EnableModuleClock/14 (read)
  Availability: not_available
  Varpool flags: read-only
ResetClockConfiguration/21 (ResetClockConfiguration) @06af1460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: clockFeatures/22 (read)selectorCallbackIndex/41 (read)selectorCallbacks/42 (read)clockFeatures/22 (read)fractional_dividerCallbackIndex/38 (read)fracDivCallbacks/39 (read)clockFeatures/22 (read)pllCallbackIndex/36 (read)pllCallbacks/37 (read)clockFeatures/22 (read)xoscCallbackIndex/28 (read)extOscCallbacks/29 (read)
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local optimize_size
  Called by: Clock_Ip_InitClock/5 (118111600 (estimated locally),1.00 per call) 
  Calls: 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(955630223 (estimated locally),8.09 per call) 
CallEmptyCallbacks/20 (CallEmptyCallbacks) @06af11c0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: functionWasCalled.6204/48 (read)functionWasCalled.6204/48 (write)cmuCallbacks/24 (read)cmuCallbacks/24 (read)cmuCallbacks/24 (read)cmuCallbacks/24 (read)dividerCallbacks/35 (read)dividerTriggerCallbacks/33 (read)extOscCallbacks/29 (read)fracDivCallbacks/39 (read)fracDivCallbacks/39 (read)gateCallbacks/44 (read)gateCallbacks/44 (read)intOscCallbacks/27 (read)pllCallbacks/37 (read)pllCallbacks/37 (read)selectorCallbacks/42 (read)pcfsCallbacks/31 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: UpdateDriverContext.isra.0/54 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
   Indirect call(536870913 (estimated locally),0.50 per call) 
ClockTimeoutExpired/18 (ClockTimeoutExpired) @06aec7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: OsIf_GetElapsed/53 (1073741824 (estimated locally),1.00 per call) 
ClockStartTimeout/17 (ClockStartTimeout) @06aec2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: OsIf_MicrosToTicks/52 (1073741824 (estimated locally),1.00 per call) OsIf_GetCounter/51 (1073741824 (estimated locally),1.00 per call) 
ReportClockErrors/16 (ReportClockErrors) @06aecee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockNotificationsCallback/2 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
ClockNotificatonsEmptyCallback/15 (ClockNotificatonsEmptyCallback) @06aecc40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: clockNotificationsCallback/2 (addr)
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Clock_Ip_EnableModuleClock/14 (Clock_Ip_EnableModuleClock) @06aec9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
Clock_Ip_DisableModuleClock/13 (Clock_Ip_DisableModuleClock) @06aec700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
Clock_Ip_InstallNotificationsCallback/12 (Clock_Ip_InstallNotificationsCallback) @06aec460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockNotificationsCallback/2 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Clock_Ip_PowerModeChangeNotification/11 (Clock_Ip_PowerModeChangeNotification) @06aec1c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockObjectsAreInitialized/1 (read)clockObjectsAreInitialized/1 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: ClockPowerModeChangeNotification/50 (1073741824 (estimated locally),1.00 per call) ClockInitializeObjects/47 (354334802 (estimated locally),0.33 per call) 
Clock_Ip_ClearClockMonitorStatus/10 (Clock_Ip_ClearClockMonitorStatus) @05f7ee00
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
Clock_Ip_GetClockMonitorStatus/9 (Clock_Ip_GetClockMonitorStatus) @05f7e8c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
Clock_Ip_DisableClockMonitor/8 (Clock_Ip_DisableClockMonitor) @05f7e380
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
Clock_Ip_DistributePll/7 (Clock_Ip_DistributePll) @05f7ed20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockConfig/3 (read)sourceType_clockName/40 (read)clockFeatures/22 (read)selectorCallbackIndex/41 (read)selectorCallbacks/42 (read)clockConfig/3 (read)clockTreeIsConsumingPll/0 (read)
  Referring: 
  Availability: available
  Function flags: count:168730857 (estimated locally) body optimize_size
  Called by: Clock_Ip_Init/4 (116930485 (estimated locally),0.11 per call) 
  Calls: Clock_Ip_DistributePll.part.0/55 (59055800 (estimated locally),0.35 per call) 
   Indirect call(324914276 (estimated locally),1.93 per call) 
Clock_Ip_GetPllStatus/6 (Clock_Ip_GetPllStatus) @05f7ea80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: HwPllName/49 (read)clockFeatures/22 (read)pllCallbackIndex/36 (read)pllCallbacks/37 (read)
  Referring: 
  Availability: available
  Function flags: count:114863532 (estimated locally) body optimize_size
  Called by: Clock_Ip_Init/4 (354334802 (estimated locally),0.33 per call) 
  Calls: 
   Indirect call(1014686025 (estimated locally),8.83 per call) 
Clock_Ip_InitClock/5 (Clock_Ip_InitClock) @05f7e7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockConfig/3 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)clockConfig/3 (write)clockFeatures/22 (read)ircoscCallbackIndex/26 (read)intOscCallbacks/27 (read)clockFeatures/22 (read)xoscCallbackIndex/28 (read)extOscCallbacks/29 (read)clockFeatures/22 (read)pcfsCallbackIndex/30 (read)pcfsCallbacks/31 (read)clockFeatures/22 (read)dividertriggerCallbackIndex/32 (read)dividerTriggerCallbacks/33 (read)clockFeatures/22 (read)dividerCallbackIndex/34 (read)dividerCallbacks/35 (read)clockFeatures/22 (read)dividertriggerCallbackIndex/32 (read)dividerTriggerCallbacks/33 (read)clockFeatures/22 (read)pllCallbackIndex/36 (read)pllCallbacks/37 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)clockFeatures/22 (read)xoscCallbackIndex/28 (read)extOscCallbacks/29 (read)clockFeatures/22 (read)pllCallbackIndex/36 (read)pllCallbacks/37 (read)clockFeatures/22 (read)fractional_dividerCallbackIndex/38 (read)fracDivCallbacks/39 (read)clockTreeIsConsumingPll/0 (write)sourceType_clockName/40 (read)clockFeatures/22 (read)selectorCallbackIndex/41 (read)selectorCallbacks/42 (read)clockTreeIsConsumingPll/0 (write)clockTreeIsConsumingPll/0 (read)clockFeatures/22 (read)gateCallbackIndex/43 (read)gateCallbacks/44 (read)clockFeatures/22 (read)cmuCallbackIndex/23 (read)cmuCallbacks/24 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: Clock_Ip_Init/4 (1073741824 (estimated locally),1.00 per call) 
  Calls: DisableSafeClock/46 (59055800 (estimated locally),0.50 per call) SpecificPeripheralClockInitialization/45 (59055800 (estimated locally),0.50 per call) UpdateDriverContext.isra.0/54 (118111600 (estimated locally),1.00 per call) ResetClockConfiguration/21 (118111600 (estimated locally),1.00 per call) SpecificPlatformInitClock/25 (118111600 (estimated locally),1.00 per call) 
   Indirect call(59055800 (estimated locally),0.50 per call) 
   Indirect call(477815109 (estimated locally),4.05 per call) 
   Indirect call(630715939 (estimated locally),5.34 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(118111601 (estimated locally),1.00 per call) 
   Indirect call(955630223 (estimated locally),8.09 per call) 
   Indirect call(118111600 (estimated locally),1.00 per call) 
   Indirect call(118111600 (estimated locally),1.00 per call) 
   Indirect call(118111600 (estimated locally),1.00 per call) 
   Indirect call(236258637 (estimated locally),2.00 per call) 
   Indirect call(82678120 (estimated locally),0.70 per call) 
Clock_Ip_Init/4 (Clock_Ip_Init) @05f7e540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: clockTreeIsConsumingPll/0 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Clock_Ip_DistributePll/7 (116930485 (estimated locally),0.11 per call) Clock_Ip_GetPllStatus/6 (354334802 (estimated locally),0.33 per call) Clock_Ip_InitClock/5 (1073741824 (estimated locally),1.00 per call) 
clockConfig/3 (clockConfig) @05f7b1b0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_InitClock/5 (write)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DistributePll.part.0/55 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_DistributePll/7 (read)
  Availability: available
  Varpool flags:
clockNotificationsCallback/2 (clockNotificationsCallback) @05f7b168
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: ClockNotificatonsEmptyCallback/15 (addr)
  Referring: Clock_Ip_InstallNotificationsCallback/12 (write)ReportClockErrors/16 (read)
  Availability: available
  Varpool flags: initialized
clockObjectsAreInitialized/1 (clockObjectsAreInitialized) @05f7b0d8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: UpdateDriverContext.isra.0/54 (read)UpdateDriverContext.isra.0/54 (write)Clock_Ip_PowerModeChangeNotification/11 (read)Clock_Ip_PowerModeChangeNotification/11 (write)
  Availability: available
  Varpool flags:
clockTreeIsConsumingPll/0 (clockTreeIsConsumingPll) @05f7b048
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Clock_Ip_InitClock/5 (read)Clock_Ip_DistributePll/7 (read)Clock_Ip_InitClock/5 (write)Clock_Ip_InitClock/5 (write)Clock_Ip_Init/4 (read)
  Availability: available
  Varpool flags:
Clock_Ip_DistributePll.part.0 ()
{
  uint32 i;
  uint32 callbackIndex;
  const struct Clock_Ip_ClockConfigType * clockConfig.13_1;
  <unnamed type> _3;
  unsigned char _4;
  int _5;
  unsigned char _6;
  void (*<T5b9>) (const struct Clock_Ip_GateConfigType *) _8;
  const struct Clock_Ip_GateConfigType * _9;
  unsigned char _11;
  long unsigned int _12;
  const struct Clock_Ip_ClockConfigType * clockConfig.13_13;
  const struct Clock_IP_SpecificPeriphConfigType * _14;
  const struct Clock_Ip_ClockConfigType * clockConfig.17_15;
  <unnamed type> _17;
  unsigned char _18;
  int _19;
  unsigned char _20;
  void (*<T5c9>) (const struct Clock_Ip_CmuConfigType *) _22;
  const struct Clock_Ip_CmuConfigType * _23;
  unsigned char _25;
  long unsigned int _26;
  const struct Clock_Ip_ClockConfigType * clockConfig.17_27;

  <bb 9> [local count: 118111600]:
  goto <bb 3>; [100.00%]

  <bb 2> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _3 = clockConfig.13_1->gates[i_2].name;
  _4 = clockFeatures[_3][1];
  _5 = (int) _4;
  _6 = gateCallbackIndex[_5];
  callbackIndex_7 = (uint32) _6;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _8 = gateCallbacks[callbackIndex_7].Set;
  _9 = &clockConfig.13_1->gates[i_2];
  _8 (_9);
  # DEBUG BEGIN_STMT
  i_10 = i_2 + 1;
  # DEBUG i => i_10

  <bb 3> [local count: 1073741824]:
  # i_2 = PHI <i_10(2), 0(9)>
  # DEBUG i => i_2
  # DEBUG BEGIN_STMT
  clockConfig.13_1 = clockConfig;
  _11 = clockConfig.13_1->gatesCount;
  _12 = (long unsigned int) _11;
  if (i_2 < _12)
    goto <bb 2>; [89.00%]
  else
    goto <bb 4>; [11.00%]

  <bb 4> [local count: 118111601]:
  # clockConfig.13_13 = PHI <clockConfig.13_1(3)>
  # DEBUG BEGIN_STMT
  _14 = &clockConfig.13_13->specificPeriphalConfiguration;
  SpecificPeripheralClockInitialization (_14);
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _17 = clockConfig.17_15->cmus[i_16].name;
  _18 = clockFeatures[_17][1];
  _19 = (int) _18;
  _20 = cmuCallbackIndex[_19];
  callbackIndex_21 = (uint32) _20;
  # DEBUG callbackIndex => callbackIndex_21
  # DEBUG BEGIN_STMT
  _22 = cmuCallbacks[callbackIndex_21].Enable;
  _23 = &clockConfig.17_15->cmus[i_16];
  _22 (_23);
  # DEBUG BEGIN_STMT
  i_24 = i_16 + 1;
  # DEBUG i => i_24

  <bb 6> [local count: 236223201]:
  # i_16 = PHI <0(4), i_24(5)>
  # DEBUG i => i_16
  # DEBUG BEGIN_STMT
  clockConfig.17_15 = clockConfig;
  _25 = clockConfig.17_15->cmusCount;
  _26 = (long unsigned int) _25;
  if (i_16 < _26)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 118111601]:
  # clockConfig.17_27 = PHI <clockConfig.17_15(6)>
  # DEBUG BEGIN_STMT
  DisableSafeClock (clockConfig.17_27);

  <bb 8> [local count: 118111601]:
  return;

}


UpdateDriverContext.isra.0 ()
{
  _Bool clockObjectsAreInitialized.3_1;

  <bb 5> [local count: 1073741824]:
  # DEBUG config s=> config

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  clockObjectsAreInitialized.3_1 = clockObjectsAreInitialized;
  if (clockObjectsAreInitialized.3_1 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  ClockInitializeObjects ();
  # DEBUG BEGIN_STMT
  clockObjectsAreInitialized = 1;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  CallEmptyCallbacks ();
  return;

}


ResetClockConfiguration (const struct Clock_Ip_ClockConfigType * config)
{
  uint32 i;
  uint32 callbackIndex;
  unsigned char _1;
  long unsigned int _2;
  <unnamed type> _3;
  unsigned char _4;
  int _5;
  unsigned char _6;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _7;
  const struct Clock_Ip_SelectorConfigType * _8;
  unsigned char _9;
  long unsigned int _10;
  <unnamed type> _11;
  unsigned char _12;
  int _13;
  unsigned char _14;
  void (*<T589>) (const struct Clock_Ip_FracDivConfigType *) _15;
  const struct Clock_Ip_FracDivConfigType * _16;
  unsigned char _17;
  long unsigned int _18;
  <unnamed type> _19;
  unsigned char _20;
  int _21;
  unsigned char _22;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _23;
  const struct Clock_Ip_PllConfigType * _24;
  unsigned char _25;
  long unsigned int _26;
  <unnamed type> _27;
  unsigned char _28;
  int _29;
  unsigned char _30;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _31;
  const struct Clock_Ip_XoscConfigType * _32;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = config_42(D)->selectorsCount;
  i_43 = (uint32) _1;
  # DEBUG i => i_43
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _2 = i_33 + 4294967295;
  _3 = config_42(D)->selectors[_2].name;
  _4 = clockFeatures[_3][1];
  _5 = (int) _4;
  _6 = selectorCallbackIndex[_5];
  callbackIndex_53 = (uint32) _6;
  # DEBUG callbackIndex => callbackIndex_53
  # DEBUG BEGIN_STMT
  _7 = selectorCallbacks[callbackIndex_53].Reset;
  _8 = &config_42(D)->selectors[_2];
  _7 (_8);
  # DEBUG BEGIN_STMT
  # DEBUG i => _2

  <bb 4> [local count: 1073741824]:
  # i_33 = PHI <i_43(2), _2(3)>
  # DEBUG i => i_33
  # DEBUG BEGIN_STMT
  if (i_33 != 0)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _9 = config_42(D)->fracDivsCount;
  i_44 = (uint32) _9;
  # DEBUG i => i_44
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _10 = i_34 + 4294967295;
  _11 = config_42(D)->fracDivs[_10].name;
  _12 = clockFeatures[_11][1];
  _13 = (int) _12;
  _14 = fractional_dividerCallbackIndex[_13];
  callbackIndex_51 = (uint32) _14;
  # DEBUG callbackIndex => callbackIndex_51
  # DEBUG BEGIN_STMT
  _15 = fracDivCallbacks[callbackIndex_51].Reset;
  _16 = &config_42(D)->fracDivs[_10];
  _15 (_16);
  # DEBUG BEGIN_STMT
  # DEBUG i => _10

  <bb 7> [local count: 236223201]:
  # i_34 = PHI <i_44(5), _10(6)>
  # DEBUG i => i_34
  # DEBUG BEGIN_STMT
  if (i_34 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _17 = config_42(D)->pllsCount;
  i_45 = (uint32) _17;
  # DEBUG i => i_45
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _18 = i_35 + 4294967295;
  _19 = config_42(D)->plls[_18].name;
  _20 = clockFeatures[_19][1];
  _21 = (int) _20;
  _22 = pllCallbackIndex[_21];
  callbackIndex_49 = (uint32) _22;
  # DEBUG callbackIndex => callbackIndex_49
  # DEBUG BEGIN_STMT
  _23 = pllCallbacks[callbackIndex_49].Reset;
  _24 = &config_42(D)->plls[_18];
  _23 (_24);
  # DEBUG BEGIN_STMT
  # DEBUG i => _18

  <bb 10> [local count: 236223201]:
  # i_35 = PHI <i_45(8), _18(9)>
  # DEBUG i => i_35
  # DEBUG BEGIN_STMT
  if (i_35 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _25 = config_42(D)->xoscsCount;
  i_46 = (uint32) _25;
  # DEBUG i => i_46
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _26 = i_36 + 4294967295;
  _27 = config_42(D)->xoscs[_26].name;
  _28 = clockFeatures[_27][1];
  _29 = (int) _28;
  _30 = xoscCallbackIndex[_29];
  callbackIndex_47 = (uint32) _30;
  # DEBUG callbackIndex => callbackIndex_47
  # DEBUG BEGIN_STMT
  _31 = extOscCallbacks[callbackIndex_47].Reset;
  _32 = &config_42(D)->xoscs[_26];
  _31 (_32);
  # DEBUG BEGIN_STMT
  # DEBUG i => _26

  <bb 13> [local count: 236223201]:
  # i_36 = PHI <i_46(11), _26(12)>
  # DEBUG i => i_36
  # DEBUG BEGIN_STMT
  if (i_36 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 118111601]:
  return;

}


CallEmptyCallbacks ()
{
  static boolean functionWasCalled = 0;
  _Bool functionWasCalled.4_1;
  void (*<T5c9>) (const struct Clock_Ip_CmuConfigType *) _2;
  void (*<T558>) (Clock_Ip_NameType) _3;
  void (*<T558>) (Clock_Ip_NameType) _4;
  Clock_Ip_CmuStatusType (*<T5cf>) (Clock_Ip_NameType) _5;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _6;
  void (*<T57d>) (const struct Clock_Ip_DividerTriggerConfigType *) _7;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _8;
  void (*<T589>) (const struct Clock_Ip_FracDivConfigType *) _9;
  clock_dfs_status_t (*<T58f>) (Clock_Ip_NameType) _10;
  void (*<T5b9>) (const struct Clock_Ip_GateConfigType *) _11;
  void (*<T5be>) (Clock_Ip_NameType, boolean) _12;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _13;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _14;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _15;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _16;
  void (*<T5db>) (const struct Clock_Ip_PcfsConfigType *) _17;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  functionWasCalled.4_1 = functionWasCalled;
  if (functionWasCalled.4_1 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  functionWasCalled = 1;
  # DEBUG BEGIN_STMT
  _2 = cmuCallbacks[0].Set;
  _2 (0B);
  # DEBUG BEGIN_STMT
  _3 = cmuCallbacks[0].Disable;
  _3 (87);
  # DEBUG BEGIN_STMT
  _4 = cmuCallbacks[0].Clear;
  _4 (87);
  # DEBUG BEGIN_STMT
  _5 = cmuCallbacks[0].GetStatus;
  _5 (87);
  # DEBUG BEGIN_STMT
  _6 = dividerCallbacks[0].Set;
  _6 (0B);
  # DEBUG BEGIN_STMT
  _7 = dividerTriggerCallbacks[0].Configure;
  _7 (0B);
  # DEBUG BEGIN_STMT
  _8 = extOscCallbacks[0].Reset;
  _8 (0B);
  # DEBUG BEGIN_STMT
  _9 = fracDivCallbacks[0].Set;
  _9 (0B);
  # DEBUG BEGIN_STMT
  _10 = fracDivCallbacks[0].Complete;
  _10 (87);
  # DEBUG BEGIN_STMT
  _11 = gateCallbacks[0].Set;
  _11 (0B);
  # DEBUG BEGIN_STMT
  _12 = gateCallbacks[0].Update;
  _12 (87, 0);
  # DEBUG BEGIN_STMT
  _13 = intOscCallbacks[0].Set;
  _13 (0B);
  # DEBUG BEGIN_STMT
  _14 = pllCallbacks[0].Set;
  _14 (0B);
  # DEBUG BEGIN_STMT
  _15 = pllCallbacks[0].Complete;
  _15 (87);
  # DEBUG BEGIN_STMT
  _16 = selectorCallbacks[0].Set;
  _16 (0B);
  # DEBUG BEGIN_STMT
  _17 = pcfsCallbacks[0].Set;
  _17 (0B);

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

}


ClockTimeoutExpired (uint32 * startTimeInOut, uint32 * elapsedTimeInOut, uint32 TimeoutTicks)
{
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _6;
  boolean _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _6 = OsIf_GetElapsed (startTimeInOut_4(D), 0);
  _1 = *elapsedTimeInOut_7(D);
  _2 = _1 + _6;
  *elapsedTimeInOut_7(D) = _2;
  # DEBUG BEGIN_STMT
  _10 = _2 >= TimeoutTicks_9(D);
  return _10;

}


ClockStartTimeout (uint32 * startTimeOut, uint32 * elapsedTimeOut, uint32 * timeoutTicksOut, uint32 timeoutUs)
{
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = OsIf_GetCounter (0);
  *startTimeOut_5(D) = _1;
  # DEBUG BEGIN_STMT
  *elapsedTimeOut_7(D) = 0;
  # DEBUG BEGIN_STMT
  _2 = OsIf_MicrosToTicks (timeoutUs_9(D), 0);
  *timeoutTicksOut_11(D) = _2;
  return;

}


ReportClockErrors (Clock_Ip_ClockNotificationType error, Clock_Ip_NameType clockName)
{
  void (*<T493>) (Clock_Ip_ClockNotificationType, Clock_Ip_NameType) clockNotificationsCallback.20_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  clockNotificationsCallback.20_1 = clockNotificationsCallback;
  clockNotificationsCallback.20_1 (error_3(D), clockName_4(D));
  return;

}


ClockNotificatonsEmptyCallback (Clock_Ip_ClockNotificationType notification, Clock_Ip_NameType clockName)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


Clock_Ip_EnableModuleClock (Clock_Ip_NameType clockName)
{
  uint32 callbackIndex;
  unsigned char _1;
  int _2;
  unsigned char _3;
  void (*<T5be>) (Clock_Ip_NameType, boolean) _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = clockFeatures[clockName_6(D)][1];
  _2 = (int) _1;
  _3 = gateCallbackIndex[_2];
  callbackIndex_7 = (uint32) _3;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _4 = gateCallbacks[callbackIndex_7].Update;
  _4 (clockName_6(D), 0);
  return;

}


Clock_Ip_DisableModuleClock (Clock_Ip_NameType clockName)
{
  uint32 callbackIndex;
  unsigned char _1;
  int _2;
  unsigned char _3;
  void (*<T5be>) (Clock_Ip_NameType, boolean) _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = clockFeatures[clockName_6(D)][1];
  _2 = (int) _1;
  _3 = gateCallbackIndex[_2];
  callbackIndex_7 = (uint32) _3;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _4 = gateCallbacks[callbackIndex_7].Update;
  _4 (clockName_6(D), 1);
  return;

}


Clock_Ip_InstallNotificationsCallback (void (*Clock_Ip_NotificationsCallbackType) (Clock_Ip_ClockNotificationType, Clock_Ip_NameType) callback)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  clockNotificationsCallback = callback_2(D);
  return;

}


Clock_Ip_PowerModeChangeNotification (power_modes_t powerMode, power_notification_t notification)
{
  _Bool clockObjectsAreInitialized.19_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  clockObjectsAreInitialized.19_1 = clockObjectsAreInitialized;
  if (clockObjectsAreInitialized.19_1 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  ClockInitializeObjects ();
  # DEBUG BEGIN_STMT
  clockObjectsAreInitialized = 1;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  ClockPowerModeChangeNotification (powerMode_6(D), notification_7(D));
  return;

}


Clock_Ip_ClearClockMonitorStatus (Clock_Ip_NameType clockName)
{
  uint32 callbackIndex;
  unsigned char _1;
  int _2;
  unsigned char _3;
  void (*<T558>) (Clock_Ip_NameType) _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = clockFeatures[clockName_6(D)][1];
  _2 = (int) _1;
  _3 = cmuCallbackIndex[_2];
  callbackIndex_7 = (uint32) _3;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _4 = cmuCallbacks[callbackIndex_7].Clear;
  _4 (clockName_6(D));
  return;

}


Clock_Ip_GetClockMonitorStatus (Clock_Ip_NameType clockName)
{
  uint32 callbackIndex;
  unsigned char _1;
  int _2;
  unsigned char _3;
  Clock_Ip_CmuStatusType (*<T5cf>) (Clock_Ip_NameType) _4;
  Clock_Ip_CmuStatusType _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = clockFeatures[clockName_6(D)][1];
  _2 = (int) _1;
  _3 = cmuCallbackIndex[_2];
  callbackIndex_7 = (uint32) _3;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _4 = cmuCallbacks[callbackIndex_7].GetStatus;
  _9 = _4 (clockName_6(D));
  return _9;

}


Clock_Ip_DisableClockMonitor (Clock_Ip_NameType clockName)
{
  uint32 callbackIndex;
  unsigned char _1;
  int _2;
  unsigned char _3;
  void (*<T558>) (Clock_Ip_NameType) _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = clockFeatures[clockName_6(D)][1];
  _2 = (int) _1;
  _3 = cmuCallbackIndex[_2];
  callbackIndex_7 = (uint32) _3;
  # DEBUG callbackIndex => callbackIndex_7
  # DEBUG BEGIN_STMT
  _4 = cmuCallbacks[callbackIndex_7].Disable;
  _4 (clockName_6(D));
  return;

}


Clock_Ip_DistributePll ()
{
  uint32 callbackIndex;
  uint32 i;
  const struct Clock_Ip_ClockConfigType * clockConfig.5_1;
  <unnamed type> _2;
  <unnamed type> _3;
  <unnamed type> _4;
  unsigned char _5;
  int _6;
  unsigned char _7;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _8;
  const struct Clock_Ip_SelectorConfigType * _9;
  const struct Clock_Ip_ClockConfigType * clockConfig.9_10;
  unsigned char _11;
  long unsigned int _12;
  _Bool clockTreeIsConsumingPll.10_13;

  <bb 2> [local count: 168730857]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  clockConfig.5_1 = clockConfig;
  if (clockConfig.5_1 != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 9>; [30.00%]

  <bb 10> [local count: 118111600]:
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 955630225]:
  # DEBUG BEGIN_STMT
  _2 = clockConfig.9_10->selectors[i_16].value;
  _3 = sourceType_clockName[_2];
  if (_3 == 3)
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 324914276]:
  # DEBUG BEGIN_STMT
  _4 = clockConfig.9_10->selectors[i_16].name;
  _5 = clockFeatures[_4][1];
  _6 = (int) _5;
  _7 = selectorCallbackIndex[_6];
  callbackIndex_22 = (uint32) _7;
  # DEBUG callbackIndex => callbackIndex_22
  # DEBUG BEGIN_STMT
  _8 = selectorCallbacks[callbackIndex_22].Set;
  _9 = &clockConfig.9_10->selectors[i_16];
  _8 (_9);

  <bb 5> [local count: 955630225]:
  # DEBUG BEGIN_STMT
  i_24 = i_16 + 1;
  # DEBUG i => i_24

  <bb 6> [local count: 1073741824]:
  # i_16 = PHI <i_24(5), 0(10)>
  # DEBUG i => i_16
  # DEBUG BEGIN_STMT
  clockConfig.9_10 = clockConfig;
  _11 = clockConfig.9_10->selectorsCount;
  _12 = (long unsigned int) _11;
  if (_12 > i_16)
    goto <bb 3>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 7> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  clockTreeIsConsumingPll.10_13 = clockTreeIsConsumingPll;
  if (clockTreeIsConsumingPll.10_13 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 59055800]:
  # i_17 = PHI <0(7)>
  Clock_Ip_DistributePll.part.0 ();

  <bb 9> [local count: 168730859]:
  return;

}


Clock_Ip_GetPllStatus ()
{
  uint32 callbackIndex;
  uint32 i;
  clock_pll_status_t pllStatus;
  Clock_Ip_PllStatusType retValue;
  <unnamed type> _1;
  unsigned char _2;
  int _3;
  unsigned char _4;
  clock_pll_status_t (*<T5a0>) (Clock_Ip_NameType) _5;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG retValue => 2
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _1 = HwPllName[0];
  _2 = clockFeatures[_1][1];
  _3 = (int) _2;
  _4 = pllCallbackIndex[_3];
  callbackIndex_13 = (uint32) _4;
  # DEBUG callbackIndex => callbackIndex_13
  # DEBUG BEGIN_STMT
  _5 = pllCallbacks[callbackIndex_13].Complete;
  pllStatus_15 = _5 (_1);
  # DEBUG pllStatus => pllStatus_15
  # DEBUG BEGIN_STMT
  if (pllStatus_15 == 1)
    goto <bb 8>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  if (pllStatus_15 == 2)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 326018619]:
  # DEBUG BEGIN_STMT
  # DEBUG retValue => 0

  <bb 6> [local count: 958878293]:
  # retValue_6 = PHI <retValue_7(4), 0(5)>
  # i_16 = PHI <1(4), 1(5)>

  <bb 7> [local count: 1073741824]:
  # retValue_7 = PHI <retValue_6(6), 2(2)>
  # i_9 = PHI <i_16(6), 0(2)>
  # DEBUG i => i_9
  # DEBUG retValue => retValue_7
  # DEBUG BEGIN_STMT
  if (i_9 == 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 8> [local count: 114863532]:
  # retValue_8 = PHI <1(3), retValue_7(7)>
  # DEBUG retValue => retValue_8
  # DEBUG BEGIN_STMT
  return retValue_8;

}


Clock_Ip_InitClock (const struct Clock_Ip_ClockConfigType * config)
{
  uint32 i;
  uint32 callbackIndex;
  const struct Clock_Ip_ClockConfigType * clockConfig.1_1;
  <unnamed type> _2;
  unsigned char _3;
  int _4;
  unsigned char _5;
  void (*<T5c9>) (const struct Clock_Ip_CmuConfigType *) _6;
  const struct Clock_Ip_CmuConfigType * _7;
  unsigned char _8;
  long unsigned int _9;
  <unnamed type> _10;
  unsigned char _11;
  int _12;
  unsigned char _13;
  void (*<T555>) (const struct Clock_Ip_IrcoscConfigType *) _14;
  const struct Clock_Ip_IrcoscConfigType * _15;
  unsigned char _16;
  long unsigned int _17;
  <unnamed type> _18;
  unsigned char _19;
  int _20;
  unsigned char _21;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _22;
  const struct Clock_Ip_XoscConfigType * _23;
  unsigned char _24;
  long unsigned int _25;
  <unnamed type> _26;
  unsigned char _27;
  int _28;
  unsigned char _29;
  void (*<T5db>) (const struct Clock_Ip_PcfsConfigType *) _30;
  const struct Clock_Ip_PcfsConfigType * _31;
  unsigned char _32;
  long unsigned int _33;
  <unnamed type> _34;
  unsigned char _35;
  int _36;
  unsigned char _37;
  void (*<T57d>) (const struct Clock_Ip_DividerTriggerConfigType *) _38;
  const struct Clock_Ip_DividerTriggerConfigType * _39;
  unsigned char _40;
  long unsigned int _41;
  <unnamed type> _42;
  unsigned char _43;
  int _44;
  unsigned char _45;
  void (*<T572>) (const struct Clock_Ip_DividerConfigType *) _46;
  const struct Clock_Ip_DividerConfigType * _47;
  unsigned char _48;
  long unsigned int _49;
  <unnamed type> _50;
  unsigned char _51;
  int _52;
  unsigned char _53;
  void (*<T57d>) (const struct Clock_Ip_DividerTriggerConfigType *) _54;
  const struct Clock_Ip_DividerTriggerConfigType * _55;
  unsigned char _56;
  long unsigned int _57;
  <unnamed type> _58;
  unsigned char _59;
  int _60;
  unsigned char _61;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _62;
  const struct Clock_Ip_PllConfigType * _63;
  unsigned char _64;
  long unsigned int _65;
  <unnamed type> _66;
  unsigned char _67;
  int _68;
  unsigned char _69;
  void (*<T5c9>) (const struct Clock_Ip_CmuConfigType *) _70;
  const struct Clock_Ip_CmuConfigType * _71;
  unsigned char _72;
  long unsigned int _73;
  <unnamed type> _74;
  unsigned char _75;
  int _76;
  unsigned char _77;
  void (*<T564>) (const struct Clock_Ip_XoscConfigType *) _78;
  const struct Clock_Ip_XoscConfigType * _79;
  unsigned char _80;
  long unsigned int _81;
  <unnamed type> _82;
  unsigned char _83;
  int _84;
  unsigned char _85;
  void (*<T59a>) (const struct Clock_Ip_PllConfigType *) _86;
  const struct Clock_Ip_PllConfigType * _87;
  unsigned char _88;
  long unsigned int _89;
  <unnamed type> _90;
  unsigned char _91;
  int _92;
  unsigned char _93;
  void (*<T589>) (const struct Clock_Ip_FracDivConfigType *) _94;
  const struct Clock_Ip_FracDivConfigType * _95;
  unsigned char _96;
  long unsigned int _97;
  <unnamed type> _98;
  <unnamed type> _99;
  <unnamed type> _100;
  unsigned char _101;
  int _102;
  unsigned char _103;
  void (*<T5ad>) (const struct Clock_Ip_SelectorConfigType *) _104;
  const struct Clock_Ip_SelectorConfigType * _105;
  unsigned char _106;
  long unsigned int _107;
  _Bool clockTreeIsConsumingPll.2_108;
  <unnamed type> _109;
  unsigned char _110;
  int _111;
  unsigned char _112;
  void (*<T5b9>) (const struct Clock_Ip_GateConfigType *) _113;
  const struct Clock_Ip_GateConfigType * _114;
  unsigned char _115;
  long unsigned int _116;
  const struct Clock_IP_SpecificPeriphConfigType * _117;
  <unnamed type> _118;
  unsigned char _119;
  int _120;
  unsigned char _121;
  void (*<T5c9>) (const struct Clock_Ip_CmuConfigType *) _122;
  const struct Clock_Ip_CmuConfigType * _123;
  unsigned char _124;
  long unsigned int _125;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  clockConfig.1_1 = clockConfig;
  if (clockConfig.1_1 != 0B)
    goto <bb 53>; [70.00%]
  else
    goto <bb 5>; [30.00%]

  <bb 53> [local count: 82678120]:
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 82678120]:
  # DEBUG BEGIN_STMT
  _2 = config_160(D)->cmus[i_126].name;
  _3 = clockFeatures[_2][1];
  _4 = (int) _3;
  _5 = cmuCallbackIndex[_4];
  callbackIndex_161 = (uint32) _5;
  # DEBUG callbackIndex => callbackIndex_161
  # DEBUG BEGIN_STMT
  _6 = cmuCallbacks[callbackIndex_161].Reset;
  _7 = &config_160(D)->cmus[i_126];
  _6 (_7);
  # DEBUG BEGIN_STMT
  i_163 = i_126 + 1;
  # DEBUG i => i_163

  <bb 4> [local count: 165356240]:
  # i_126 = PHI <i_163(3), 0(53)>
  # DEBUG i => i_126
  # DEBUG BEGIN_STMT
  _8 = config_160(D)->cmusCount;
  _9 = (long unsigned int) _8;
  if (_9 > i_126)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  clockConfig = config_160(D);
  # DEBUG BEGIN_STMT
  SpecificPlatformInitClock (config_160(D));
  # DEBUG BEGIN_STMT
  ResetClockConfiguration (config_160(D));
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 236258637]:
  # DEBUG BEGIN_STMT
  _10 = config_160(D)->ircoscs[i_127].name;
  _11 = clockFeatures[_10][1];
  _12 = (int) _11;
  _13 = ircoscCallbackIndex[_12];
  callbackIndex_211 = (uint32) _13;
  # DEBUG callbackIndex => callbackIndex_211
  # DEBUG BEGIN_STMT
  _14 = intOscCallbacks[callbackIndex_211].Set;
  _15 = &config_160(D)->ircoscs[i_127];
  _14 (_15);
  # DEBUG BEGIN_STMT
  i_213 = i_127 + 1;
  # DEBUG i => i_213

  <bb 7> [local count: 354370237]:
  # i_127 = PHI <0(5), i_213(6)>
  # DEBUG i => i_127
  # DEBUG BEGIN_STMT
  _16 = config_160(D)->ircoscsCount;
  _17 = (long unsigned int) _16;
  if (_17 > i_127)
    goto <bb 6>; [66.67%]
  else
    goto <bb 52>; [33.33%]

  <bb 52> [local count: 118111600]:
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  _18 = config_160(D)->xoscs[i_128].name;
  _19 = clockFeatures[_18][1];
  _20 = (int) _19;
  _21 = xoscCallbackIndex[_20];
  callbackIndex_208 = (uint32) _21;
  # DEBUG callbackIndex => callbackIndex_208
  # DEBUG BEGIN_STMT
  _22 = extOscCallbacks[callbackIndex_208].Set;
  _23 = &config_160(D)->xoscs[i_128];
  _22 (_23);
  # DEBUG BEGIN_STMT
  i_210 = i_128 + 1;
  # DEBUG i => i_210

  <bb 9> [local count: 236223200]:
  # i_128 = PHI <i_210(8), 0(52)>
  # DEBUG i => i_128
  # DEBUG BEGIN_STMT
  _24 = config_160(D)->xoscsCount;
  _25 = (long unsigned int) _24;
  if (_25 > i_128)
    goto <bb 8>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => config_160(D)
  UpdateDriverContext.isra.0 ();
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 12>; [100.00%]

  <bb 11> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  _26 = config_160(D)->pcfs[i_129].name;
  _27 = clockFeatures[_26][1];
  _28 = (int) _27;
  _29 = pcfsCallbackIndex[_28];
  callbackIndex_205 = (uint32) _29;
  # DEBUG callbackIndex => callbackIndex_205
  # DEBUG BEGIN_STMT
  _30 = pcfsCallbacks[callbackIndex_205].Set;
  _31 = &config_160(D)->pcfs[i_129];
  _30 (_31);
  # DEBUG BEGIN_STMT
  i_207 = i_129 + 1;
  # DEBUG i => i_207

  <bb 12> [local count: 236223200]:
  # i_129 = PHI <0(10), i_207(11)>
  # DEBUG i => i_129
  # DEBUG BEGIN_STMT
  _32 = config_160(D)->pcfsCount;
  _33 = (long unsigned int) _32;
  if (_33 > i_129)
    goto <bb 11>; [50.00%]
  else
    goto <bb 51>; [50.00%]

  <bb 51> [local count: 118111600]:
  goto <bb 14>; [100.00%]

  <bb 13> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  _34 = config_160(D)->dividerTriggers[i_130].name;
  _35 = clockFeatures[_34][1];
  _36 = (int) _35;
  _37 = dividertriggerCallbackIndex[_36];
  callbackIndex_202 = (uint32) _37;
  # DEBUG callbackIndex => callbackIndex_202
  # DEBUG BEGIN_STMT
  _38 = dividerTriggerCallbacks[callbackIndex_202].Configure;
  _39 = &config_160(D)->dividerTriggers[i_130];
  _38 (_39);
  # DEBUG BEGIN_STMT
  i_204 = i_130 + 1;
  # DEBUG i => i_204

  <bb 14> [local count: 236223200]:
  # i_130 = PHI <i_204(13), 0(51)>
  # DEBUG i => i_130
  # DEBUG BEGIN_STMT
  _40 = config_160(D)->dividerTriggersCount;
  _41 = (long unsigned int) _40;
  if (_41 > i_130)
    goto <bb 13>; [50.00%]
  else
    goto <bb 50>; [50.00%]

  <bb 50> [local count: 118111600]:
  goto <bb 16>; [100.00%]

  <bb 15> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _42 = config_160(D)->dividers[i_131].name;
  _43 = clockFeatures[_42][1];
  _44 = (int) _43;
  _45 = dividerCallbackIndex[_44];
  callbackIndex_199 = (uint32) _45;
  # DEBUG callbackIndex => callbackIndex_199
  # DEBUG BEGIN_STMT
  _46 = dividerCallbacks[callbackIndex_199].Set;
  _47 = &config_160(D)->dividers[i_131];
  _46 (_47);
  # DEBUG BEGIN_STMT
  i_201 = i_131 + 1;
  # DEBUG i => i_201

  <bb 16> [local count: 1073741824]:
  # i_131 = PHI <i_201(15), 0(50)>
  # DEBUG i => i_131
  # DEBUG BEGIN_STMT
  _48 = config_160(D)->dividersCount;
  _49 = (long unsigned int) _48;
  if (_49 > i_131)
    goto <bb 15>; [89.00%]
  else
    goto <bb 49>; [11.00%]

  <bb 49> [local count: 118111601]:
  goto <bb 18>; [100.00%]

  <bb 17> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _50 = config_160(D)->dividerTriggers[i_132].name;
  _51 = clockFeatures[_50][1];
  _52 = (int) _51;
  _53 = dividertriggerCallbackIndex[_52];
  callbackIndex_196 = (uint32) _53;
  # DEBUG callbackIndex => callbackIndex_196
  # DEBUG BEGIN_STMT
  _54 = dividerTriggerCallbacks[callbackIndex_196].TriggerUpdate;
  _55 = &config_160(D)->dividerTriggers[i_132];
  _54 (_55);
  # DEBUG BEGIN_STMT
  i_198 = i_132 + 1;
  # DEBUG i => i_198

  <bb 18> [local count: 236223201]:
  # i_132 = PHI <i_198(17), 0(49)>
  # DEBUG i => i_132
  # DEBUG BEGIN_STMT
  _56 = config_160(D)->dividerTriggersCount;
  _57 = (long unsigned int) _56;
  if (_57 > i_132)
    goto <bb 17>; [50.00%]
  else
    goto <bb 48>; [50.00%]

  <bb 48> [local count: 118111601]:
  goto <bb 20>; [100.00%]

  <bb 19> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _58 = config_160(D)->plls[i_133].name;
  _59 = clockFeatures[_58][1];
  _60 = (int) _59;
  _61 = pllCallbackIndex[_60];
  callbackIndex_193 = (uint32) _61;
  # DEBUG callbackIndex => callbackIndex_193
  # DEBUG BEGIN_STMT
  _62 = pllCallbacks[callbackIndex_193].Set;
  _63 = &config_160(D)->plls[i_133];
  _62 (_63);
  # DEBUG BEGIN_STMT
  i_195 = i_133 + 1;
  # DEBUG i => i_195

  <bb 20> [local count: 236223201]:
  # i_133 = PHI <i_195(19), 0(48)>
  # DEBUG i => i_133
  # DEBUG BEGIN_STMT
  _64 = config_160(D)->pllsCount;
  _65 = (long unsigned int) _64;
  if (_65 > i_133)
    goto <bb 19>; [50.00%]
  else
    goto <bb 47>; [50.00%]

  <bb 47> [local count: 118111601]:
  goto <bb 22>; [100.00%]

  <bb 21> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _66 = config_160(D)->cmus[i_134].name;
  _67 = clockFeatures[_66][1];
  _68 = (int) _67;
  _69 = cmuCallbackIndex[_68];
  callbackIndex_190 = (uint32) _69;
  # DEBUG callbackIndex => callbackIndex_190
  # DEBUG BEGIN_STMT
  _70 = cmuCallbacks[callbackIndex_190].Set;
  _71 = &config_160(D)->cmus[i_134];
  _70 (_71);
  # DEBUG BEGIN_STMT
  i_192 = i_134 + 1;
  # DEBUG i => i_192

  <bb 22> [local count: 236223201]:
  # i_134 = PHI <i_192(21), 0(47)>
  # DEBUG i => i_134
  # DEBUG BEGIN_STMT
  _72 = config_160(D)->cmusCount;
  _73 = (long unsigned int) _72;
  if (_73 > i_134)
    goto <bb 21>; [50.00%]
  else
    goto <bb 46>; [50.00%]

  <bb 46> [local count: 118111601]:
  goto <bb 24>; [100.00%]

  <bb 23> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _74 = config_160(D)->xoscs[i_135].name;
  _75 = clockFeatures[_74][1];
  _76 = (int) _75;
  _77 = xoscCallbackIndex[_76];
  callbackIndex_187 = (uint32) _77;
  # DEBUG callbackIndex => callbackIndex_187
  # DEBUG BEGIN_STMT
  _78 = extOscCallbacks[callbackIndex_187].Complete;
  _79 = &config_160(D)->xoscs[i_135];
  _78 (_79);
  # DEBUG BEGIN_STMT
  i_189 = i_135 + 1;
  # DEBUG i => i_189

  <bb 24> [local count: 236223201]:
  # i_135 = PHI <i_189(23), 0(46)>
  # DEBUG i => i_135
  # DEBUG BEGIN_STMT
  _80 = config_160(D)->xoscsCount;
  _81 = (long unsigned int) _80;
  if (_81 > i_135)
    goto <bb 23>; [50.00%]
  else
    goto <bb 45>; [50.00%]

  <bb 45> [local count: 118111601]:
  goto <bb 26>; [100.00%]

  <bb 25> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _82 = config_160(D)->plls[i_136].name;
  _83 = clockFeatures[_82][1];
  _84 = (int) _83;
  _85 = pllCallbackIndex[_84];
  callbackIndex_184 = (uint32) _85;
  # DEBUG callbackIndex => callbackIndex_184
  # DEBUG BEGIN_STMT
  _86 = pllCallbacks[callbackIndex_184].Enable;
  _87 = &config_160(D)->plls[i_136];
  _86 (_87);
  # DEBUG BEGIN_STMT
  i_186 = i_136 + 1;
  # DEBUG i => i_186

  <bb 26> [local count: 236223201]:
  # i_136 = PHI <i_186(25), 0(45)>
  # DEBUG i => i_136
  # DEBUG BEGIN_STMT
  _88 = config_160(D)->pllsCount;
  _89 = (long unsigned int) _88;
  if (_89 > i_136)
    goto <bb 25>; [50.00%]
  else
    goto <bb 44>; [50.00%]

  <bb 44> [local count: 118111601]:
  goto <bb 28>; [100.00%]

  <bb 27> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _90 = config_160(D)->fracDivs[i_137].name;
  _91 = clockFeatures[_90][1];
  _92 = (int) _91;
  _93 = fractional_dividerCallbackIndex[_92];
  callbackIndex_181 = (uint32) _93;
  # DEBUG callbackIndex => callbackIndex_181
  # DEBUG BEGIN_STMT
  _94 = fracDivCallbacks[callbackIndex_181].Set;
  _95 = &config_160(D)->fracDivs[i_137];
  _94 (_95);
  # DEBUG BEGIN_STMT
  i_183 = i_137 + 1;
  # DEBUG i => i_183

  <bb 28> [local count: 236223201]:
  # i_137 = PHI <i_183(27), 0(44)>
  # DEBUG i => i_137
  # DEBUG BEGIN_STMT
  _96 = config_160(D)->fracDivsCount;
  _97 = (long unsigned int) _96;
  if (_97 > i_137)
    goto <bb 27>; [50.00%]
  else
    goto <bb 29>; [50.00%]

  <bb 29> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  clockTreeIsConsumingPll = 0;
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 34>; [100.00%]

  <bb 30> [local count: 955630211]:
  # DEBUG BEGIN_STMT
  _98 = config_160(D)->selectors[i_138].value;
  _99 = sourceType_clockName[_98];
  if (_99 != 3)
    goto <bb 31>; [66.00%]
  else
    goto <bb 32>; [34.00%]

  <bb 31> [local count: 630715939]:
  # DEBUG BEGIN_STMT
  _100 = config_160(D)->selectors[i_138].name;
  _101 = clockFeatures[_100][1];
  _102 = (int) _101;
  _103 = selectorCallbackIndex[_102];
  callbackIndex_178 = (uint32) _103;
  # DEBUG callbackIndex => callbackIndex_178
  # DEBUG BEGIN_STMT
  _104 = selectorCallbacks[callbackIndex_178].Set;
  _105 = &config_160(D)->selectors[i_138];
  _104 (_105);
  goto <bb 33>; [100.00%]

  <bb 32> [local count: 324914272]:
  # DEBUG BEGIN_STMT
  clockTreeIsConsumingPll = 1;

  <bb 33> [local count: 955630211]:
  # DEBUG BEGIN_STMT
  i_180 = i_138 + 1;
  # DEBUG i => i_180

  <bb 34> [local count: 1073741811]:
  # i_138 = PHI <0(29), i_180(33)>
  # DEBUG i => i_138
  # DEBUG BEGIN_STMT
  _106 = config_160(D)->selectorsCount;
  _107 = (long unsigned int) _106;
  if (_107 > i_138)
    goto <bb 30>; [89.00%]
  else
    goto <bb 35>; [11.00%]

  <bb 35> [local count: 118111599]:
  # DEBUG BEGIN_STMT
  clockTreeIsConsumingPll.2_108 = clockTreeIsConsumingPll;
  if (clockTreeIsConsumingPll.2_108 != 0)
    goto <bb 42>; [50.00%]
  else
    goto <bb 43>; [50.00%]

  <bb 43> [local count: 59055800]:
  goto <bb 37>; [100.00%]

  <bb 36> [local count: 477815109]:
  # DEBUG BEGIN_STMT
  _109 = config_160(D)->gates[i_139].name;
  _110 = clockFeatures[_109][1];
  _111 = (int) _110;
  _112 = gateCallbackIndex[_111];
  callbackIndex_174 = (uint32) _112;
  # DEBUG callbackIndex => callbackIndex_174
  # DEBUG BEGIN_STMT
  _113 = gateCallbacks[callbackIndex_174].Set;
  _114 = &config_160(D)->gates[i_139];
  _113 (_114);
  # DEBUG BEGIN_STMT
  i_176 = i_139 + 1;
  # DEBUG i => i_176

  <bb 37> [local count: 536870909]:
  # i_139 = PHI <i_176(36), 0(43)>
  # DEBUG i => i_139
  # DEBUG BEGIN_STMT
  _115 = config_160(D)->gatesCount;
  _116 = (long unsigned int) _115;
  if (_116 > i_139)
    goto <bb 36>; [89.00%]
  else
    goto <bb 38>; [11.00%]

  <bb 38> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  _117 = &config_160(D)->specificPeriphalConfiguration;
  SpecificPeripheralClockInitialization (_117);
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 40>; [100.00%]

  <bb 39> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  _118 = config_160(D)->cmus[i_140].name;
  _119 = clockFeatures[_118][1];
  _120 = (int) _119;
  _121 = cmuCallbackIndex[_120];
  callbackIndex_171 = (uint32) _121;
  # DEBUG callbackIndex => callbackIndex_171
  # DEBUG BEGIN_STMT
  _122 = cmuCallbacks[callbackIndex_171].Enable;
  _123 = &config_160(D)->cmus[i_140];
  _122 (_123);
  # DEBUG BEGIN_STMT
  i_173 = i_140 + 1;
  # DEBUG i => i_173

  <bb 40> [local count: 118111600]:
  # i_140 = PHI <0(38), i_173(39)>
  # DEBUG i => i_140
  # DEBUG BEGIN_STMT
  _124 = config_160(D)->cmusCount;
  _125 = (long unsigned int) _124;
  if (_125 > i_140)
    goto <bb 39>; [50.00%]
  else
    goto <bb 41>; [50.00%]

  <bb 41> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  DisableSafeClock (config_160(D));

  <bb 42> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  return;

}


Clock_Ip_Init (const struct Clock_Ip_ClockConfigType * config)
{
  Clock_Ip_PllStatusType pllStatus;
  Clock_Ip_StatusType clockStatus;
  _Bool clockTreeIsConsumingPll.0_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG clockStatus => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Clock_Ip_InitClock (config_5(D));
  # DEBUG BEGIN_STMT
  clockTreeIsConsumingPll.0_1 = clockTreeIsConsumingPll;
  if (clockTreeIsConsumingPll.0_1 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  pllStatus_8 = Clock_Ip_GetPllStatus ();
  # DEBUG pllStatus => pllStatus_8
  # DEBUG BEGIN_STMT
  if (pllStatus_8 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  Clock_Ip_DistributePll ();
  # DEBUG BEGIN_STMT
  # DEBUG clockStatus => 0

  <bb 5> [local count: 1073741824]:
  # clockStatus_2 = PHI <0(4), 0(2), 1(3)>
  # DEBUG clockStatus => clockStatus_2
  # DEBUG BEGIN_STMT
  return clockStatus_2;

}


