Analyzing function: SetPllPlldvOdiv2Output/5 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 9 6 7 8 ;; ;; Loop 1 ;; header 4, latch 9 ;; depth 1, outer 0 ;; nodes: 4 9 5 ;; 2 succs { 3 8 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 9 6 } ;; 9 succs { 4 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 1 } Analyzing function body size: SetPllPlldvOdiv2Output IPA function summary for SetPllPlldvOdiv2Output/5 inlinable global time: 104.767859 self size: 56 global size: 0 min size: 0 self stack: 12 global stack: 12 size:34.500000, time:39.598949 size:4.500000, time:3.054450, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) array index:(op0[ref offset: 0] changed) calls: UpdateClockState/11 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op1 is compile time invariant ReportClockErrors/9 function body not available loop depth: 0 freq:0.11 size: 3 time: 12 op0 is compile time invariant ClockTimeoutExpired/8 function body not available loop depth: 1 freq:3.08 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/7 function body not available loop depth: 0 freq:0.33 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant Analyzing function: SetPllPll0divDeDivOutput/4 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 13 6 7 8 9 10 11 12 ;; ;; Loop 1 ;; header 4, latch 13 ;; depth 1, outer 0 ;; nodes: 4 13 5 ;; 2 succs { 3 8 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 13 6 } ;; 13 succs { 4 } ;; 6 succs { 7 8 } ;; 7 succs { 8 } ;; 8 succs { 9 11 } ;; 9 succs { 10 12 } ;; 10 succs { 12 } ;; 11 succs { 12 } ;; 12 succs { 1 } Analyzing function body size: SetPllPll0divDeDivOutput IPA function summary for SetPllPll0divDeDivOutput/4 inlinable global time: 110.912859 self size: 73 global size: 0 min size: 0 self stack: 12 global stack: 12 size:44.500000, time:43.681449 size:5.500000, time:3.136950, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) array index:(op0[ref offset: 0] changed) calls: UpdateClockState/11 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 op1 is compile time invariant UpdateClockState/11 function body not available loop depth: 0 freq:0.17 size: 3 time: 12 op1 is compile time invariant GetClockState/12 function body not available loop depth: 0 freq:0.50 size: 3 time: 12 ReportClockErrors/9 function body not available loop depth: 0 freq:0.11 size: 3 time: 12 op0 is compile time invariant ClockTimeoutExpired/8 function body not available loop depth: 1 freq:3.08 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/7 function body not available loop depth: 0 freq:0.33 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant Analyzing function: SetCgmXDeDivStatWithPhase/3 ;; 3 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 22 9 10 11 12 21 13 14 15 16 17 18 19 20 ;; ;; Loop 2 ;; header 11, latch 21 ;; depth 1, outer 0 ;; nodes: 11 21 12 ;; ;; Loop 1 ;; header 7, latch 22 ;; depth 1, outer 0 ;; nodes: 7 22 8 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 10 6 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 22 9 } ;; 22 succs { 7 } ;; 9 succs { 10 19 } ;; 10 succs { 11 } ;; 11 succs { 12 13 } ;; 12 succs { 21 13 } ;; 21 succs { 11 } ;; 13 succs { 14 15 } ;; 14 succs { 16 } ;; 15 succs { 16 } ;; 16 succs { 17 20 } ;; 17 succs { 18 20 } ;; 18 succs { 20 } ;; 19 succs { 20 } ;; 20 succs { 1 } Analyzing function body size: SetCgmXDeDivStatWithPhase IPA function summary for SetCgmXDeDivStatWithPhase/3 inlinable global time: 371.761429 self size: 102 global size: 0 min size: 0 self stack: 12 global stack: 12 size:48.500000, time:124.255154 size:6.500000, time:3.419890, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed) size:5.000000, time:2.500000, executed if:(op0[ref offset: 32] != 0) size:3.000000, time:1.500000, executed if:(op0[ref offset: 32] != 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 32] != 0) array index:(op0[ref offset: 0] changed) calls: ReportClockErrors/9 function body not available loop depth: 0 freq:0.25 size: 3 time: 12 op0 is compile time invariant UpdateClockState/11 function body not available loop depth: 0 freq:0.08 size: 3 time: 12 op1 is compile time invariant GetClockState/12 function body not available loop depth: 0 freq:0.25 size: 3 time: 12 ReportClockErrors/9 function body not available loop depth: 0 freq:0.25 size: 3 time: 12 op0 is compile time invariant ClockTimeoutExpired/8 function body not available loop depth: 1 freq:7.05 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/7 function body not available loop depth: 0 freq:0.75 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant UpdateClockState/11 function body not available loop depth: 0 freq:0.75 size: 3 time: 12 op1 is compile time invariant ClockTimeoutExpired/8 function body not available loop depth: 1 freq:6.96 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/7 function body not available loop depth: 0 freq:0.74 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant Analyzing function: SetCgmXDeDivStatWithoutPhase/2 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 16 9 10 11 12 13 14 15 ;; ;; Loop 1 ;; header 7, latch 16 ;; depth 1, outer 0 ;; nodes: 7 16 8 ;; 2 succs { 3 4 } ;; 3 succs { 4 } ;; 4 succs { 5 6 } ;; 5 succs { 10 6 } ;; 6 succs { 7 } ;; 7 succs { 8 9 } ;; 8 succs { 16 9 } ;; 16 succs { 7 } ;; 9 succs { 10 14 } ;; 10 succs { 11 13 } ;; 11 succs { 12 15 } ;; 12 succs { 15 } ;; 13 succs { 15 } ;; 14 succs { 15 } ;; 15 succs { 1 } Analyzing function body size: SetCgmXDeDivStatWithoutPhase IPA function summary for SetCgmXDeDivStatWithoutPhase/2 inlinable global time: 203.443784 self size: 75 global size: 0 min size: 0 self stack: 12 global stack: 12 size:35.500000, time:71.168275 size:5.500000, time:2.939408, executed if:(not inlined) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 0] changed) && (not inlined) size:0.500000, time:0.500000, nonconst if:(op0[ref offset: 0] changed) size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 32] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 32] changed) size:5.000000, time:2.500000, executed if:(op0[ref offset: 32] != 0) size:3.000000, time:1.500000, executed if:(op0[ref offset: 32] != 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 32] != 0) array index:(op0[ref offset: 0] changed) calls: ReportClockErrors/9 function body not available loop depth: 0 freq:0.25 size: 3 time: 12 op0 is compile time invariant UpdateClockState/11 function body not available loop depth: 0 freq:0.38 size: 3 time: 12 op1 is compile time invariant UpdateClockState/11 function body not available loop depth: 0 freq:0.12 size: 3 time: 12 op1 is compile time invariant GetClockState/12 function body not available loop depth: 0 freq:0.38 size: 3 time: 12 ClockTimeoutExpired/8 function body not available loop depth: 1 freq:6.96 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/7 function body not available loop depth: 0 freq:0.74 size: 5 time: 14 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant Analyzing function: Callback_DividerEmpty/1 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: Callback_DividerEmpty IPA function summary for Callback_DividerEmpty/1 inlinable global time: 2.000000 self size: 3 global size: 0 min size: 0 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Symbol table: cgm/13 (cgm) @06f2e318 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read) Availability: not_available Varpool flags: read-only GetClockState/12 (GetClockState) @06f24380 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: SetCgmXDeDivStatWithoutPhase/2 (58199271 (estimated locally),0.38 per call) SetCgmXDeDivStatWithPhase/3 (37904965 (estimated locally),0.25 per call) SetPllPll0divDeDivOutput/4 (174035654 (estimated locally),0.50 per call) Calls: UpdateClockState/11 (UpdateClockState) @06f240e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: SetCgmXDeDivStatWithoutPhase/2 (58199271 (estimated locally),0.38 per call) SetCgmXDeDivStatWithoutPhase/2 (19205760 (estimated locally),0.12 per call) SetCgmXDeDivStatWithPhase/3 (12508639 (estimated locally),0.08 per call) SetCgmXDeDivStatWithPhase/3 (114863532 (estimated locally),0.75 per call) SetPllPll0divDeDivOutput/4 (174035654 (estimated locally),0.50 per call) SetPllPll0divDeDivOutput/4 (57431766 (estimated locally),0.17 per call) SetPllPlldvOdiv2Output/5 (348071309 (estimated locally),1.00 per call) Calls: pll/10 (pll) @06f214c8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: SetPllPlldvOdiv2Output/5 (read)SetPllPll0divDeDivOutput/4 (read) Availability: not_available Varpool flags: read-only ReportClockErrors/9 (ReportClockErrors) @06f24000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: SetCgmXDeDivStatWithoutPhase/2 (37904965 (estimated locally),0.25 per call) SetCgmXDeDivStatWithPhase/3 (37405092 (estimated locally),0.25 per call) SetCgmXDeDivStatWithPhase/3 (37904965 (estimated locally),0.25 per call) SetPllPll0divDeDivOutput/4 (37904965 (estimated locally),0.11 per call) SetPllPlldvOdiv2Output/5 (37904965 (estimated locally),0.11 per call) Calls: ClockTimeoutExpired/8 (ClockTimeoutExpired) @06f148c0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: SetCgmXDeDivStatWithoutPhase/2 (1073741824 (estimated locally),6.96 per call) SetCgmXDeDivStatWithPhase/3 (1073741824 (estimated locally),7.05 per call) SetCgmXDeDivStatWithPhase/3 (1059581806 (estimated locally),6.96 per call) SetPllPll0divDeDivOutput/4 (1073741824 (estimated locally),3.08 per call) SetPllPlldvOdiv2Output/5 (1073741824 (estimated locally),3.08 per call) Calls: ClockStartTimeout/7 (ClockStartTimeout) @06f14460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: SetCgmXDeDivStatWithoutPhase/2 (114863532 (estimated locally),0.74 per call) SetCgmXDeDivStatWithPhase/3 (114863532 (estimated locally),0.75 per call) SetCgmXDeDivStatWithPhase/3 (113348764 (estimated locally),0.74 per call) SetPllPll0divDeDivOutput/4 (114863532 (estimated locally),0.33 per call) SetPllPlldvOdiv2Output/5 (114863532 (estimated locally),0.33 per call) Calls: clockFeatures/6 (clockFeatures) @06f213a8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: SetPllPll0divDeDivOutput/4 (read)SetPllPll0divDeDivOutput/4 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetCgmXDeDivStatWithPhase/3 (read)SetPllPlldvOdiv2Output/5 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read)SetCgmXDeDivStatWithoutPhase/2 (read) Availability: not_available Varpool flags: read-only SetPllPlldvOdiv2Output/5 (SetPllPlldvOdiv2Output) @06f14c40 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/6 (read)pll/10 (read) Referring: dividerCallbacks/0 (addr) Availability: available Function flags: count:348071309 (estimated locally) body optimize_size Called by: Calls: UpdateClockState/11 (348071309 (estimated locally),1.00 per call) ReportClockErrors/9 (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.33 per call) SetPllPll0divDeDivOutput/4 (SetPllPll0divDeDivOutput) @06f147e0 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/6 (read)clockFeatures/6 (read)pll/10 (read) Referring: dividerCallbacks/0 (addr) Availability: available Function flags: count:348071309 (estimated locally) body optimize_size Called by: Calls: UpdateClockState/11 (174035654 (estimated locally),0.50 per call) UpdateClockState/11 (57431766 (estimated locally),0.17 per call) GetClockState/12 (174035654 (estimated locally),0.50 per call) ReportClockErrors/9 (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.33 per call) SetCgmXDeDivStatWithPhase/3 (SetCgmXDeDivStatWithPhase) @06f14380 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read) Referring: dividerCallbacks/0 (addr) Availability: available Function flags: count:152268625 (estimated locally) body optimize_size Called by: Calls: ReportClockErrors/9 (37405092 (estimated locally),0.25 per call) UpdateClockState/11 (12508639 (estimated locally),0.08 per call) GetClockState/12 (37904965 (estimated locally),0.25 per call) ReportClockErrors/9 (37904965 (estimated locally),0.25 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),7.05 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.75 per call) UpdateClockState/11 (114863532 (estimated locally),0.75 per call) ClockTimeoutExpired/8 (1059581806 (estimated locally),6.96 per call) ClockStartTimeout/7 (113348764 (estimated locally),0.74 per call) SetCgmXDeDivStatWithoutPhase/2 (SetCgmXDeDivStatWithoutPhase) @06ea0e00 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read)cgm/13 (read) Referring: dividerCallbacks/0 (addr) Availability: available Function flags: count:154303509 (estimated locally) body optimize_size Called by: Calls: ReportClockErrors/9 (37904965 (estimated locally),0.25 per call) UpdateClockState/11 (58199271 (estimated locally),0.38 per call) UpdateClockState/11 (19205760 (estimated locally),0.12 per call) GetClockState/12 (58199271 (estimated locally),0.38 per call) ClockTimeoutExpired/8 (1073741824 (estimated locally),6.96 per call) ClockStartTimeout/7 (114863532 (estimated locally),0.74 per call) Callback_DividerEmpty/1 (Callback_DividerEmpty) @06ea0d20 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: Referring: dividerCallbacks/0 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: dividerCallbacks/0 (dividerCallbacks) @06ea5000 Type: variable definition analyzed Visibility: externally_visible public References: Callback_DividerEmpty/1 (addr)SetCgmXDeDivStatWithoutPhase/2 (addr)SetCgmXDeDivStatWithPhase/3 (addr)SetPllPll0divDeDivOutput/4 (addr)SetPllPlldvOdiv2Output/5 (addr) Referring: Availability: available Varpool flags: initialized read-only const-value-known SetPllPlldvOdiv2Output (const struct Clock_Ip_DividerConfigType * config) { uint32 regValue; uint32 instance; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; _1; int _2; unsigned char _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int TimeoutTicks.0_12; long unsigned int _13; long unsigned int _14; long unsigned int iftmp.1_15; _16; long unsigned int _17; volatile struct PLL_Type * _18; long unsigned int _19; long unsigned int _20; _21; [local count: 348071309]: # DEBUG BEGIN_STMT # DEBUG TimeoutOccurred => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = config_25(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_26 = (uint32) _3; # DEBUG instance => instance_26 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _4 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT; _5 = _4 & 16777216; if (_5 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 114863532]: # DEBUG BEGIN_STMT _6 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN; _7 = _6 | 16777216; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN ={v} _7; # DEBUG BEGIN_STMT _8 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF; _9 = _8 | 1; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF ={v} _9; # DEBUG BEGIN_STMT _10 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD; _11 = _10 | 1; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD ={v} _11; # DEBUG BEGIN_STMT MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 23280; # DEBUG BEGIN_STMT MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 42255; # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT TimeoutTicks.0_12 = TimeoutTicks; TimeoutOccurred_34 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_12); # DEBUG TimeoutOccurred => TimeoutOccurred_34 # DEBUG BEGIN_STMT _13 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT; _14 = _13 & 16777216; if (_14 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1014686025]: if (TimeoutOccurred_34 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878292]: goto ; [100.00%] [local count: 114863532]: # TimeoutOccurred_36 = PHI # DEBUG BEGIN_STMT if (TimeoutOccurred_36 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 37904965]: # DEBUG BEGIN_STMT _16 = config_25(D)->name; ReportClockErrors (1, _16); [local count: 348071309]: # DEBUG BEGIN_STMT _17 = config_25(D)->value; iftmp.1_15 = MAX_EXPR <_17, 1>; # DEBUG dividerValue => iftmp.1_15 # DEBUG BEGIN_STMT _18 = pll[instance_26]; regValue_37 ={v} _18->PLLDV; # DEBUG regValue => regValue_37 # DEBUG BEGIN_STMT regValue_38 = regValue_37 & 2181038079; # DEBUG regValue => regValue_38 # DEBUG BEGIN_STMT _19 = iftmp.1_15 << 25; _20 = _19 & 2113929216; regValue_39 = _20 | regValue_38; # DEBUG regValue => regValue_39 # DEBUG BEGIN_STMT _18->PLLDV ={v} regValue_39; # DEBUG BEGIN_STMT _21 = config_25(D)->name; UpdateClockState (_21, 255); StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } SetPllPll0divDeDivOutput (const struct Clock_Ip_DividerConfigType * config) { uint32 regValue; uint32 dividerIndex; uint32 instance; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; _1; int _2; unsigned char _3; unsigned char _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int TimeoutTicks.2_14; long unsigned int _15; long unsigned int _16; _17; volatile struct PLL_Type * _18; long unsigned int _19; long unsigned int _20; long unsigned int _21; long unsigned int _22; long unsigned int _23; long unsigned int _24; _25; _26; _27; _28; long unsigned int _32; [local count: 348071309]: # DEBUG BEGIN_STMT # DEBUG TimeoutOccurred => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = config_34(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_35 = (uint32) _3; # DEBUG instance => instance_35 # DEBUG BEGIN_STMT _5 = clockFeatures[_2][3]; dividerIndex_36 = (uint32) _5; # DEBUG dividerIndex => dividerIndex_36 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _6 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT; _7 = _6 & 16777216; if (_7 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 114863532]: # DEBUG BEGIN_STMT _8 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN; _9 = _8 | 16777216; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_CLKEN ={v} _9; # DEBUG BEGIN_STMT _10 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF; _11 = _10 | 1; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PCONF ={v} _11; # DEBUG BEGIN_STMT _12 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD; _13 = _12 | 1; MEM[(struct MC_ME_Type *)1076740096B].PRTN1_PUPD ={v} _13; # DEBUG BEGIN_STMT MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 23280; # DEBUG BEGIN_STMT MEM[(struct MC_ME_Type *)1076740096B].CTL_KEY ={v} 42255; # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT TimeoutTicks.2_14 = TimeoutTicks; TimeoutOccurred_44 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.2_14); # DEBUG TimeoutOccurred => TimeoutOccurred_44 # DEBUG BEGIN_STMT _15 ={v} MEM[(struct MC_ME_Type *)1076740096B].PRTN1_COFB1_STAT; _16 = _15 & 16777216; if (_16 == 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1014686025]: if (TimeoutOccurred_44 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878292]: goto ; [100.00%] [local count: 114863532]: # TimeoutOccurred_4 = PHI # DEBUG BEGIN_STMT if (TimeoutOccurred_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 37904965]: # DEBUG BEGIN_STMT _17 = config_34(D)->name; ReportClockErrors (1, _17); [local count: 348071309]: # DEBUG BEGIN_STMT _18 = pll[instance_35]; _19 ={v} _18->PLLODIV[dividerIndex_36]; _20 = _19 & 2147483647; _18->PLLODIV[dividerIndex_36] ={v} _20; # DEBUG BEGIN_STMT _21 = config_34(D)->value; if (_21 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 174035654]: # DEBUG BEGIN_STMT regValue_48 ={v} _18->PLLODIV[dividerIndex_36]; # DEBUG regValue => regValue_48 # DEBUG BEGIN_STMT # DEBUG regValue => regValue_48 | 2147483648 # DEBUG BEGIN_STMT _32 = regValue_48 & 4293984255; regValue_49 = _32 | 2147483648; # DEBUG regValue => regValue_49 # DEBUG BEGIN_STMT _22 = _21 + 4294967295; _23 = _22 << 16; _24 = _23 & 983040; regValue_50 = _24 | regValue_49; # DEBUG regValue => regValue_50 # DEBUG BEGIN_STMT _18->PLLODIV[dividerIndex_36] ={v} regValue_50; # DEBUG BEGIN_STMT _25 = config_34(D)->name; _26 = GetClockState (_25); if (_26 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 57431766]: # DEBUG BEGIN_STMT _27 = config_34(D)->name; UpdateClockState (_27, 255); goto ; [100.00%] [local count: 174035654]: # DEBUG BEGIN_STMT _28 = config_34(D)->name; UpdateClockState (_28, 0); [local count: 348071309]: StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } SetCgmXDeDivStatWithPhase (const struct Clock_Ip_DividerConfigType * config) { uint32 DividerStatus; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; uint32 regValue; uint32 dividerIndex; uint32 selectorIndex; uint32 instance; _1; int _2; unsigned char _3; unsigned char _6; unsigned char _7; unsigned char _8; long unsigned int _9; volatile struct cgmMux_Type * _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; volatile struct cgmMux_Type * _14; long unsigned int _15; long unsigned int _16; volatile struct cgmMux_Type * _17; long unsigned int _18; long unsigned int TimeoutTicks.3_19; volatile struct cgmMux_Type * _20; long unsigned int _21; long unsigned int _22; _23; long unsigned int _24; long unsigned int TimeoutTicks.4_25; unsigned char _26; long unsigned int _27; _28; long unsigned int _29; long unsigned int _30; long unsigned int _31; _32; _33; _34; _35; [local count: 152268625]: # DEBUG BEGIN_STMT _1 = config_42(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_43 = (uint32) _3; # DEBUG instance => instance_43 # DEBUG BEGIN_STMT _6 = clockFeatures[_2][2]; selectorIndex_44 = (uint32) _6; # DEBUG selectorIndex => selectorIndex_44 # DEBUG BEGIN_STMT _7 = clockFeatures[_2][3]; dividerIndex_45 = (uint32) _7; # DEBUG dividerIndex => dividerIndex_45 # DEBUG BEGIN_STMT _8 = clockFeatures[_2][5]; # DEBUG triggerFeat => (uint32) _8 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG TimeoutOccurred => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG immediateTriggerIsUpdated => 1 # DEBUG BEGIN_STMT _9 = config_42(D)->value; if (_9 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 76134312]: # DEBUG BEGIN_STMT _10 = cgm[instance_43][selectorIndex_44]; regValue_46 ={v} _10->divider[dividerIndex_45]; # DEBUG regValue => regValue_46 # DEBUG BEGIN_STMT regValue_47 = regValue_46 & 4290838527; # DEBUG regValue => regValue_47 # DEBUG BEGIN_STMT _11 = _9 + 4294967295; _12 = _11 << 16; _13 = _12 & 4128768; regValue_48 = _13 | regValue_47; # DEBUG regValue => regValue_48 # DEBUG BEGIN_STMT _10->divider[dividerIndex_45] ={v} regValue_48; [local count: 152268625]: # DEBUG BEGIN_STMT if (_8 == 1) goto ; [51.12%] else goto ; [48.88%] [local count: 77839721]: # DEBUG BEGIN_STMT _14 = cgm[instance_43][selectorIndex_44]; _15 ={v} _14->MUX_DIV_TRIG_CTRL; _16 = _15 & 1; if (_16 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 113348764]: # DEBUG immediateTriggerIsUpdated => NULL # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1059581806]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _17 = cgm[instance_43][selectorIndex_44]; _18 ={v} _17->MUX_DIV_UPD_STAT; DividerStatus_51 = _18 & 1; # DEBUG DividerStatus => DividerStatus_51 # DEBUG BEGIN_STMT TimeoutTicks.3_19 = TimeoutTicks; TimeoutOccurred_53 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.3_19); # DEBUG TimeoutOccurred => TimeoutOccurred_53 # DEBUG BEGIN_STMT if (DividerStatus_51 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1001304806]: if (TimeoutOccurred_53 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 946233042]: goto ; [100.00%] [local count: 113348764]: # TimeoutOccurred_4 = PHI # DEBUG TimeoutOccurred => TimeoutOccurred_4 # DEBUG BEGIN_STMT if (TimeoutOccurred_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 114863532]: # DEBUG immediateTriggerIsUpdated => NULL # DEBUG TimeoutOccurred => NULL # DEBUG BEGIN_STMT _20 = cgm[instance_43][selectorIndex_44]; _21 ={v} _20->divider[dividerIndex_45]; _22 = _21 & 2147483647; _20->divider[dividerIndex_45] ={v} _22; # DEBUG BEGIN_STMT _23 = config_42(D)->name; UpdateClockState (_23, 0); # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _24 ={v} _20->MUX_DIV_UPD_STAT; DividerStatus_58 = _24 & 1; # DEBUG DividerStatus => DividerStatus_58 # DEBUG BEGIN_STMT TimeoutTicks.4_25 = TimeoutTicks; TimeoutOccurred_60 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.4_25); # DEBUG TimeoutOccurred => TimeoutOccurred_60 # DEBUG BEGIN_STMT if (DividerStatus_58 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1014686023]: if (TimeoutOccurred_60 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878292]: goto ; [100.00%] [local count: 114863532]: # TimeoutOccurred_5 = PHI # DEBUG BEGIN_STMT if (TimeoutOccurred_5 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 76958566]: # DEBUG BEGIN_STMT regValue_62 ={v} _20->divider[dividerIndex_45]; # DEBUG regValue => regValue_62 # DEBUG BEGIN_STMT regValue_63 = regValue_62 & 4294967040; # DEBUG regValue => regValue_63 # DEBUG BEGIN_STMT _26 = config_42(D)->options[0]; _27 = (long unsigned int) _26; regValue_64 = _27 | regValue_63; # DEBUG regValue => regValue_64 # DEBUG BEGIN_STMT _20->divider[dividerIndex_45] ={v} regValue_64; goto ; [100.00%] [local count: 37904965]: # DEBUG BEGIN_STMT _28 = config_42(D)->name; ReportClockErrors (1, _28); [local count: 114863532]: # DEBUG BEGIN_STMT _29 = config_42(D)->value; if (_29 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 37904965]: # DEBUG BEGIN_STMT _30 ={v} _20->divider[dividerIndex_45]; _31 = _30 | 2147483648; _20->divider[dividerIndex_45] ={v} _31; # DEBUG BEGIN_STMT _32 = config_42(D)->name; _33 = GetClockState (_32); if (_33 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 12508639]: # DEBUG BEGIN_STMT _34 = config_42(D)->name; UpdateClockState (_34, 255); goto ; [100.00%] [local count: 37405092]: # DEBUG BEGIN_STMT _35 = config_42(D)->name; ReportClockErrors (1, _35); [local count: 152268624]: StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } SetCgmXDeDivStatWithoutPhase (const struct Clock_Ip_DividerConfigType * config) { uint32 DividerStatus; uint32 TimeoutTicks; uint32 ElapsedTime; uint32 StartTime; boolean TimeoutOccurred; uint32 regValue; uint32 dividerIndex; uint32 selectorIndex; uint32 instance; _1; int _2; unsigned char _3; unsigned char _5; unsigned char _6; unsigned char _7; long unsigned int _8; volatile struct cgmMux_Type * _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; volatile struct cgmMux_Type * _13; long unsigned int _14; long unsigned int _15; volatile struct cgmMux_Type * _16; long unsigned int _17; long unsigned int TimeoutTicks.5_18; long unsigned int _19; volatile struct cgmMux_Type * _20; long unsigned int _21; long unsigned int _22; _23; _24; _25; volatile struct cgmMux_Type * _26; long unsigned int _27; long unsigned int _28; _29; _30; [local count: 154303509]: # DEBUG BEGIN_STMT _1 = config_35(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][0]; instance_36 = (uint32) _3; # DEBUG instance => instance_36 # DEBUG BEGIN_STMT _5 = clockFeatures[_2][2]; selectorIndex_37 = (uint32) _5; # DEBUG selectorIndex => selectorIndex_37 # DEBUG BEGIN_STMT _6 = clockFeatures[_2][3]; dividerIndex_38 = (uint32) _6; # DEBUG dividerIndex => dividerIndex_38 # DEBUG BEGIN_STMT _7 = clockFeatures[_2][5]; # DEBUG triggerFeat => (uint32) _7 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG TimeoutOccurred => 0 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG immediateTriggerIsUpdated => 1 # DEBUG BEGIN_STMT _8 = config_35(D)->value; if (_8 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 77151755]: # DEBUG BEGIN_STMT _9 = cgm[instance_36][selectorIndex_37]; regValue_39 ={v} _9->divider[dividerIndex_38]; # DEBUG regValue => regValue_39 # DEBUG BEGIN_STMT regValue_40 = regValue_39 & 4290838527; # DEBUG regValue => regValue_40 # DEBUG BEGIN_STMT _10 = _8 + 4294967295; _11 = _10 << 16; _12 = _11 & 4128768; regValue_41 = _12 | regValue_40; # DEBUG regValue => regValue_41 # DEBUG BEGIN_STMT _9->divider[dividerIndex_38] ={v} regValue_41; [local count: 154303509]: # DEBUG BEGIN_STMT if (_7 == 1) goto ; [51.12%] else goto ; [48.88%] [local count: 78879954]: # DEBUG BEGIN_STMT _13 = cgm[instance_36][selectorIndex_37]; _14 ={v} _13->MUX_DIV_TRIG_CTRL; _15 = _14 & 1; if (_15 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 114863532]: # DEBUG immediateTriggerIsUpdated => NULL # DEBUG BEGIN_STMT ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000); [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _16 = cgm[instance_36][selectorIndex_37]; _17 ={v} _16->MUX_DIV_UPD_STAT; DividerStatus_44 = _17 & 1; # DEBUG DividerStatus => DividerStatus_44 # DEBUG BEGIN_STMT TimeoutTicks.5_18 = TimeoutTicks; TimeoutOccurred_46 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.5_18); # DEBUG TimeoutOccurred => TimeoutOccurred_46 # DEBUG BEGIN_STMT if (DividerStatus_44 != 0) goto ; [94.50%] else goto ; [5.50%] [local count: 1014686024]: if (TimeoutOccurred_46 != 0) goto ; [5.50%] else goto ; [94.50%] [local count: 958878293]: goto ; [100.00%] [local count: 114863532]: # TimeoutOccurred_4 = PHI # DEBUG TimeoutOccurred => TimeoutOccurred_4 # DEBUG BEGIN_STMT if (TimeoutOccurred_4 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 116398543]: # DEBUG immediateTriggerIsUpdated => NULL # DEBUG TimeoutOccurred => NULL # DEBUG BEGIN_STMT _19 = config_35(D)->value; if (_19 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 58199271]: # DEBUG BEGIN_STMT _20 = cgm[instance_36][selectorIndex_37]; _21 ={v} _20->divider[dividerIndex_38]; _22 = _21 | 2147483648; _20->divider[dividerIndex_38] ={v} _22; # DEBUG BEGIN_STMT _23 = config_35(D)->name; _24 = GetClockState (_23); if (_24 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 19205760]: # DEBUG BEGIN_STMT _25 = config_35(D)->name; UpdateClockState (_25, 255); goto ; [100.00%] [local count: 58199271]: # DEBUG BEGIN_STMT _26 = cgm[instance_36][selectorIndex_37]; _27 ={v} _26->divider[dividerIndex_38]; _28 = _27 & 2147483647; _26->divider[dividerIndex_38] ={v} _28; # DEBUG BEGIN_STMT _29 = config_35(D)->name; UpdateClockState (_29, 0); goto ; [100.00%] [local count: 37904965]: # DEBUG BEGIN_STMT _30 = config_35(D)->name; ReportClockErrors (1, _30); [local count: 154303509]: StartTime ={v} {CLOBBER}; ElapsedTime ={v} {CLOBBER}; TimeoutTicks ={v} {CLOBBER}; return; } Callback_DividerEmpty (const struct Clock_Ip_DividerConfigType * config) { [local count: 1073741824]: # DEBUG BEGIN_STMT return; }