ADM/GW/Release_FLASH/RTD/src/Clock_Ip_ExtOsc.c.072i.cp
2024-08-08 10:00:15 +09:00

956 lines
28 KiB
C++

IPA constant propagation start:
IPA structures before propagation:
Jump functions:
Jump functions of caller UpdateClockState/16:
Jump functions of caller Clock_Ip_TimeDelay/15:
Jump functions of caller ReportClockErrors/13:
Jump functions of caller ClockTimeoutExpired/12:
Jump functions of caller ClockStartTimeout/11:
Jump functions of caller McMeEnterKey/10:
Jump functions of caller SetSxoscOsconEocv/5:
Jump functions of caller ResetSxoscOsconEocv/4:
Jump functions of caller SetFxoscOsconBypEocvGmSel/3:
Jump functions of caller ResetFxoscOsconBypEocvGmSel/2:
Jump functions of caller ExternalOscillatorEmpty/1:
Propagating constants:
Not considering SetSxoscOsconEocv for cloning; -fipa-cp-clone disabled.
Not considering ResetSxoscOsconEocv for cloning; -fipa-cp-clone disabled.
Not considering SetFxoscOsconBypEocvGmSel for cloning; -fipa-cp-clone disabled.
Not considering ResetFxoscOsconBypEocvGmSel for cloning; -fipa-cp-clone disabled.
Not considering ExternalOscillatorEmpty for cloning; -fipa-cp-clone disabled.
overall_size: 264, max_new_size: 11001
- context independent values, size: 3, time_benefit: 1.000000
IPA lattices after all propagation:
Lattices:
Node: SetSxoscOsconEocv/5:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: ResetSxoscOsconEocv/4:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: SetFxoscOsconBypEocvGmSel/3:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: ResetFxoscOsconBypEocvGmSel/2:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: ExternalOscillatorEmpty/1:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
IPA decision stage:
IPA constant propagation end
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:
UpdateClockState/16 (UpdateClockState) @06cd2540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: ResetFxoscOsconBypEocvGmSel/2 (1073741824 (estimated locally),1.00 per call) SetFxoscOsconBypEocvGmSel/3 (57431766 (estimated locally),0.06 per call) ResetSxoscOsconEocv/4 (1073741824 (estimated locally),1.00 per call) SetSxoscOsconEocv/5 (57431766 (estimated locally),0.25 per call)
Calls:
Clock_Ip_TimeDelay/15 (Clock_Ip_TimeDelay) @06cd2460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: SetFxoscOsconBypEocvGmSel/3 (1073741824 (estimated locally),1.17 per call) SetSxoscOsconEocv/5 (1073741824 (estimated locally),4.67 per call)
Calls:
xosc/14 (xosc) @06cd3120
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: SetSxoscOsconEocv/5 (read)ResetSxoscOsconEocv/4 (read)SetFxoscOsconBypEocvGmSel/3 (read)ResetFxoscOsconBypEocvGmSel/2 (read)
Availability: not_available
Varpool flags: read-only
ReportClockErrors/13 (ReportClockErrors) @06cd2380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: SetFxoscOsconBypEocvGmSel/3 (114863532 (estimated locally),0.12 per call) SetFxoscOsconBypEocvGmSel/3 (57431766 (estimated locally),0.06 per call) SetFxoscOsconBypEocvGmSel/3 (14384734 (estimated locally),0.02 per call) SetSxoscOsconEocv/5 (57431766 (estimated locally),0.25 per call) SetSxoscOsconEocv/5 (3596184 (estimated locally),0.02 per call)
Calls:
ClockTimeoutExpired/12 (ClockTimeoutExpired) @06cd22a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: SetFxoscOsconBypEocvGmSel/3 (1073741824 (estimated locally),1.17 per call) SetFxoscOsconBypEocvGmSel/3 (407479353 (estimated locally),0.44 per call) SetSxoscOsconEocv/5 (1073741824 (estimated locally),4.67 per call) SetSxoscOsconEocv/5 (101869838 (estimated locally),0.44 per call)
Calls:
ClockStartTimeout/11 (ClockStartTimeout) @06cd21c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: SetFxoscOsconBypEocvGmSel/3 (114863532 (estimated locally),0.12 per call) SetFxoscOsconBypEocvGmSel/3 (43590104 (estimated locally),0.05 per call) SetSxoscOsconEocv/5 (114863532 (estimated locally),0.50 per call) SetSxoscOsconEocv/5 (10897526 (estimated locally),0.05 per call)
Calls:
McMeEnterKey/10 (McMeEnterKey) @06cd20e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: SetFxoscOsconBypEocvGmSel/3 (43590104 (estimated locally),0.05 per call) SetSxoscOsconEocv/5 (10897526 (estimated locally),0.05 per call)
Calls:
mcmeTriggerPartitions/9 (mcmeTriggerPartitions) @06cccf78
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: SetSxoscOsconEocv/5 (read)SetFxoscOsconBypEocvGmSel/3 (read)
Availability: not_available
Varpool flags: read-only
mcmeSetPartitions/8 (mcmeSetPartitions) @06cccf30
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: SetSxoscOsconEocv/5 (read)SetFxoscOsconBypEocvGmSel/3 (read)
Availability: not_available
Varpool flags: read-only
mcmeGetPartitions/7 (mcmeGetPartitions) @06cccee8
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: SetSxoscOsconEocv/5 (read)ResetSxoscOsconEocv/4 (read)SetFxoscOsconBypEocvGmSel/3 (read)ResetFxoscOsconBypEocvGmSel/2 (read)
Availability: not_available
Varpool flags: read-only
clockFeatures/6 (clockFeatures) @06cccea0
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: ResetSxoscOsconEocv/4 (read)ResetSxoscOsconEocv/4 (read)ResetSxoscOsconEocv/4 (read)ResetSxoscOsconEocv/4 (read)SetFxoscOsconBypEocvGmSel/3 (read)SetFxoscOsconBypEocvGmSel/3 (read)SetFxoscOsconBypEocvGmSel/3 (read)SetFxoscOsconBypEocvGmSel/3 (read)SetSxoscOsconEocv/5 (read)SetSxoscOsconEocv/5 (read)SetSxoscOsconEocv/5 (read)SetSxoscOsconEocv/5 (read)ResetFxoscOsconBypEocvGmSel/2 (read)ResetFxoscOsconBypEocvGmSel/2 (read)ResetFxoscOsconBypEocvGmSel/2 (read)ResetFxoscOsconBypEocvGmSel/2 (read)
Availability: not_available
Varpool flags: read-only
SetSxoscOsconEocv/5 (SetSxoscOsconEocv) @06cc4b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)mcmeGetPartitions/7 (read)mcmeSetPartitions/8 (read)mcmeTriggerPartitions/9 (read)xosc/14 (read)
Referring: extOscCallbacks/0 (addr)
Availability: available
Function flags: count:229727064 (estimated locally) body optimize_size
Called by:
Calls: ReportClockErrors/13 (57431766 (estimated locally),0.25 per call) UpdateClockState/16 (57431766 (estimated locally),0.25 per call) ClockTimeoutExpired/12 (1073741824 (estimated locally),4.67 per call) Clock_Ip_TimeDelay/15 (1073741824 (estimated locally),4.67 per call) ClockStartTimeout/11 (114863532 (estimated locally),0.50 per call) ReportClockErrors/13 (3596184 (estimated locally),0.02 per call) ClockTimeoutExpired/12 (101869838 (estimated locally),0.44 per call) ClockStartTimeout/11 (10897526 (estimated locally),0.05 per call) McMeEnterKey/10 (10897526 (estimated locally),0.05 per call)
ResetSxoscOsconEocv/4 (ResetSxoscOsconEocv) @06cc4700
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)mcmeGetPartitions/7 (read)xosc/14 (read)
Referring: extOscCallbacks/0 (addr)
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by:
Calls: UpdateClockState/16 (1073741824 (estimated locally),1.00 per call)
SetFxoscOsconBypEocvGmSel/3 (SetFxoscOsconBypEocvGmSel) @06cc4460
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)mcmeGetPartitions/7 (read)mcmeSetPartitions/8 (read)mcmeTriggerPartitions/9 (read)xosc/14 (read)
Referring: extOscCallbacks/0 (addr)
Availability: available
Function flags: count:918908257 (estimated locally) body optimize_size
Called by:
Calls: ReportClockErrors/13 (114863532 (estimated locally),0.12 per call) ReportClockErrors/13 (57431766 (estimated locally),0.06 per call) UpdateClockState/16 (57431766 (estimated locally),0.06 per call) ClockTimeoutExpired/12 (1073741824 (estimated locally),1.17 per call) Clock_Ip_TimeDelay/15 (1073741824 (estimated locally),1.17 per call) ClockStartTimeout/11 (114863532 (estimated locally),0.12 per call) ReportClockErrors/13 (14384734 (estimated locally),0.02 per call) ClockTimeoutExpired/12 (407479353 (estimated locally),0.44 per call) ClockStartTimeout/11 (43590104 (estimated locally),0.05 per call) McMeEnterKey/10 (43590104 (estimated locally),0.05 per call)
ResetFxoscOsconBypEocvGmSel/2 (ResetFxoscOsconBypEocvGmSel) @06c50c40
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
References: clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)clockFeatures/6 (read)mcmeGetPartitions/7 (read)xosc/14 (read)
Referring: extOscCallbacks/0 (addr)
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by:
Calls: UpdateClockState/16 (1073741824 (estimated locally),1.00 per call)
ExternalOscillatorEmpty/1 (ExternalOscillatorEmpty) @06c50e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
References:
Referring: extOscCallbacks/0 (addr)extOscCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
extOscCallbacks/0 (extOscCallbacks) @06c4aaf8
Type: variable definition analyzed
Visibility: externally_visible public
References: ExternalOscillatorEmpty/1 (addr)ExternalOscillatorEmpty/1 (addr)ResetFxoscOsconBypEocvGmSel/2 (addr)SetFxoscOsconBypEocvGmSel/3 (addr)ResetSxoscOsconEocv/4 (addr)SetSxoscOsconEocv/5 (addr)
Referring:
Availability: available
Varpool flags: initialized read-only const-value-known
;; Function ExternalOscillatorEmpty (ExternalOscillatorEmpty, funcdef_no=0, decl_uid=5054, cgraph_uid=1, symbol_order=1)
Modification phase of node ExternalOscillatorEmpty/1
ExternalOscillatorEmpty (const struct Clock_Ip_XoscConfigType * config)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}
;; Function SetSxoscOsconEocv (SetSxoscOsconEocv, funcdef_no=4, decl_uid=5065, cgraph_uid=5, symbol_order=5)
Modification phase of node SetSxoscOsconEocv/5
SetSxoscOsconEocv (const struct Clock_Ip_XoscConfigType * config)
{
uint32 enableRequest;
uint32 collection;
uint32 partition;
uint32 TimeoutTicks;
uint32 ElapsedTime;
uint32 StartTime;
boolean TimeoutOccurred;
uint32 instance;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _6;
unsigned char _7;
unsigned char _8;
short unsigned int _9;
const volatile struct getMcmePartition_Type * _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
volatile struct setMcmePartition_Type * _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
volatile struct triggerMcmePartition_Type * _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int TimeoutTicks.0_23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
<unnamed type> _27;
short unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
volatile struct ExtOSC_Type * _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int TimeoutTicks.1_36;
<unnamed type> _37;
<unnamed type> _38;
<bb 2> [local count: 229727064]:
# DEBUG BEGIN_STMT
_1 = config_44(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_45 = (uint32) _3;
# DEBUG instance => instance_45
# DEBUG BEGIN_STMT
# DEBUG TimeoutOccurred => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_6 = clockFeatures[_2][3];
partition_46 = (uint32) _6;
# DEBUG partition => partition_46
# DEBUG BEGIN_STMT
_7 = clockFeatures[_2][4];
collection_47 = (uint32) _7;
# DEBUG collection => collection_47
# DEBUG BEGIN_STMT
_8 = clockFeatures[_2][5];
enableRequest_48 = (uint32) _8;
# DEBUG enableRequest => enableRequest_48
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_9 = config_44(D)->enable;
if (_9 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
if (partition_46 != 255)
goto <bb 4>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 4> [local count: 75809931]:
if (collection_47 != 255)
goto <bb 5>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 5> [local count: 50034555]:
if (enableRequest_48 != 255)
goto <bb 6>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 6> [local count: 33022806]:
# DEBUG BEGIN_STMT
_10 = mcmeGetPartitions[partition_46];
_11 ={v} _10->PRTN_COFB_STAT[collection_47];
_12 = _11 >> enableRequest_48;
_13 = _12 & 1;
if (_13 == 0)
goto <bb 7>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 7> [local count: 10897526]:
# DEBUG BEGIN_STMT
_14 = mcmeSetPartitions[partition_46];
_15 ={v} _14->PRTN_COFB_CLKEN[collection_47];
_16 = 1 << enableRequest_48;
_17 = _15 | _16;
_14->PRTN_COFB_CLKEN[collection_47] ={v} _17;
# DEBUG BEGIN_STMT
_18 = mcmeTriggerPartitions[partition_46];
_19 ={v} _18->PRTN_PCONF;
_20 = _19 | 1;
_18->PRTN_PCONF ={v} _20;
# DEBUG BEGIN_STMT
_21 ={v} _18->PRTN_PUPD;
_22 = _21 | 1;
_18->PRTN_PUPD ={v} _22;
# DEBUG BEGIN_STMT
McMeEnterKey ();
# DEBUG BEGIN_STMT
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
<bb 8> [local count: 101869838]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
TimeoutTicks.0_23 = TimeoutTicks;
TimeoutOccurred_55 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_23);
# DEBUG TimeoutOccurred => TimeoutOccurred_55
# DEBUG BEGIN_STMT
_24 ={v} _10->PRTN_COFB_STAT[collection_47];
_25 = _24 >> enableRequest_48;
_26 = _25 & 1;
if (_26 == 0)
goto <bb 9>; [94.50%]
else
goto <bb 10>; [5.50%]
<bb 9> [local count: 96266997]:
if (TimeoutOccurred_55 != 0)
goto <bb 10>; [5.50%]
else
goto <bb 20>; [94.50%]
<bb 20> [local count: 90972312]:
goto <bb 8>; [100.00%]
<bb 10> [local count: 10897526]:
# TimeoutOccurred_4 = PHI <TimeoutOccurred_55(8), TimeoutOccurred_55(9)>
# DEBUG BEGIN_STMT
if (TimeoutOccurred_4 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 3596184]:
# DEBUG BEGIN_STMT
_27 = config_44(D)->name;
ReportClockErrors (1, _27);
<bb 12> [local count: 114863532]:
# DEBUG BEGIN_STMT
_28 = config_44(D)->startupDelay;
_29 = (long unsigned int) _28;
_30 = _29 << 16;
_31 = _30 & 16711680;
_32 = xosc[instance_45];
_33 = _31 | 1;
_32->CTRL ={v} _33;
# DEBUG BEGIN_STMT
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Clock_Ip_TimeDelay ();
# DEBUG BEGIN_STMT
_34 ={v} _32->STAT;
_35 = _34 >> 31;
# DEBUG SxoscStatus => _35
# DEBUG BEGIN_STMT
TimeoutTicks.1_36 = TimeoutTicks;
TimeoutOccurred_61 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.1_36);
# DEBUG TimeoutOccurred => TimeoutOccurred_61
# DEBUG BEGIN_STMT
if (_35 == 0)
goto <bb 14>; [94.50%]
else
goto <bb 15>; [5.50%]
<bb 14> [local count: 1014686025]:
if (TimeoutOccurred_61 != 0)
goto <bb 15>; [5.50%]
else
goto <bb 19>; [94.50%]
<bb 19> [local count: 958878293]:
goto <bb 13>; [100.00%]
<bb 15> [local count: 114863532]:
# TimeoutOccurred_5 = PHI <TimeoutOccurred_61(13), TimeoutOccurred_61(14)>
# DEBUG BEGIN_STMT
if (TimeoutOccurred_5 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 57431766]:
# DEBUG BEGIN_STMT
_37 = config_44(D)->name;
UpdateClockState (_37, 255);
goto <bb 18>; [100.00%]
<bb 17> [local count: 57431766]:
# DEBUG BEGIN_STMT
_38 = config_44(D)->name;
ReportClockErrors (1, _38);
<bb 18> [local count: 229727064]:
StartTime ={v} {CLOBBER};
ElapsedTime ={v} {CLOBBER};
TimeoutTicks ={v} {CLOBBER};
return;
}
;; Function ResetSxoscOsconEocv (ResetSxoscOsconEocv, funcdef_no=3, decl_uid=5063, cgraph_uid=4, symbol_order=4)
Modification phase of node ResetSxoscOsconEocv/4
ResetSxoscOsconEocv (const struct Clock_Ip_XoscConfigType * config)
{
uint32 enableRequest;
uint32 collection;
uint32 partition;
uint32 instance;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _4;
unsigned char _5;
unsigned char _6;
const volatile struct getMcmePartition_Type * _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
volatile struct ExtOSC_Type * _11;
long unsigned int _12;
long unsigned int _13;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_1 = config_16(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_17 = (uint32) _3;
# DEBUG instance => instance_17
# DEBUG BEGIN_STMT
_4 = clockFeatures[_2][3];
partition_18 = (uint32) _4;
# DEBUG partition => partition_18
# DEBUG BEGIN_STMT
_5 = clockFeatures[_2][4];
collection_19 = (uint32) _5;
# DEBUG collection => collection_19
# DEBUG BEGIN_STMT
_6 = clockFeatures[_2][5];
enableRequest_20 = (uint32) _6;
# DEBUG enableRequest => enableRequest_20
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (partition_18 != 255)
goto <bb 3>; [66.00%]
else
goto <bb 7>; [34.00%]
<bb 3> [local count: 708669604]:
if (collection_19 != 255)
goto <bb 4>; [66.00%]
else
goto <bb 7>; [34.00%]
<bb 4> [local count: 467721938]:
if (enableRequest_20 != 255)
goto <bb 5>; [66.00%]
else
goto <bb 7>; [34.00%]
<bb 5> [local count: 308696479]:
# DEBUG BEGIN_STMT
_7 = mcmeGetPartitions[partition_18];
_8 ={v} _7->PRTN_COFB_STAT[collection_19];
_9 = _8 >> enableRequest_20;
_10 = _9 & 1;
if (_10 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 154348240]:
# DEBUG BEGIN_STMT
_11 = xosc[instance_17];
_12 ={v} _11->CTRL;
_13 = _12 & 4294967294;
_11->CTRL ={v} _13;
<bb 7> [local count: 1073741824]:
# DEBUG BEGIN_STMT
UpdateClockState (_1, 0);
return;
}
;; Function SetFxoscOsconBypEocvGmSel (SetFxoscOsconBypEocvGmSel, funcdef_no=2, decl_uid=5058, cgraph_uid=3, symbol_order=3)
Modification phase of node SetFxoscOsconBypEocvGmSel/3
SetFxoscOsconBypEocvGmSel (const struct Clock_Ip_XoscConfigType * config)
{
uint32 enableRequest;
uint32 collection;
uint32 partition;
uint32 instance;
uint32 TimeoutTicks;
uint32 ElapsedTime;
uint32 StartTime;
boolean TimeoutOccurred;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _6;
unsigned char _7;
unsigned char _8;
short unsigned int _9;
const volatile struct getMcmePartition_Type * _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
volatile struct setMcmePartition_Type * _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
volatile struct triggerMcmePartition_Type * _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int TimeoutTicks.2_23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
<unnamed type> _27;
unsigned char _28;
long unsigned int _29;
long unsigned int _30;
short unsigned int _31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
unsigned char _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
unsigned char _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
volatile struct ExtOSC_Type * _46;
long unsigned int _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int TimeoutTicks.3_50;
<unnamed type> _51;
<unnamed type> _52;
<unnamed type> _53;
<bb 2> [local count: 918908257]:
# DEBUG BEGIN_STMT
# DEBUG TimeoutOccurred => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = config_59(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_60 = (uint32) _3;
# DEBUG instance => instance_60
# DEBUG BEGIN_STMT
_6 = clockFeatures[_2][3];
partition_61 = (uint32) _6;
# DEBUG partition => partition_61
# DEBUG BEGIN_STMT
_7 = clockFeatures[_2][4];
collection_62 = (uint32) _7;
# DEBUG collection => collection_62
# DEBUG BEGIN_STMT
_8 = clockFeatures[_2][5];
enableRequest_63 = (uint32) _8;
# DEBUG enableRequest => enableRequest_63
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_9 = config_59(D)->enable;
if (_9 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 3> [local count: 459454128]:
# DEBUG BEGIN_STMT
if (partition_61 != 255)
goto <bb 4>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 4> [local count: 303239725]:
if (collection_62 != 255)
goto <bb 5>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 5> [local count: 200138218]:
if (enableRequest_63 != 255)
goto <bb 6>; [66.00%]
else
goto <bb 12>; [34.00%]
<bb 6> [local count: 132091224]:
# DEBUG BEGIN_STMT
_10 = mcmeGetPartitions[partition_61];
_11 ={v} _10->PRTN_COFB_STAT[collection_62];
_12 = _11 >> enableRequest_63;
_13 = _12 & 1;
if (_13 == 0)
goto <bb 7>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 7> [local count: 43590104]:
# DEBUG BEGIN_STMT
_14 = mcmeSetPartitions[partition_61];
_15 ={v} _14->PRTN_COFB_CLKEN[collection_62];
_16 = 1 << enableRequest_63;
_17 = _15 | _16;
_14->PRTN_COFB_CLKEN[collection_62] ={v} _17;
# DEBUG BEGIN_STMT
_18 = mcmeTriggerPartitions[partition_61];
_19 ={v} _18->PRTN_PCONF;
_20 = _19 | 1;
_18->PRTN_PCONF ={v} _20;
# DEBUG BEGIN_STMT
_21 ={v} _18->PRTN_PUPD;
_22 = _21 | 1;
_18->PRTN_PUPD ={v} _22;
# DEBUG BEGIN_STMT
McMeEnterKey ();
# DEBUG BEGIN_STMT
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
<bb 8> [local count: 407479353]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
TimeoutTicks.2_23 = TimeoutTicks;
TimeoutOccurred_70 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.2_23);
# DEBUG TimeoutOccurred => TimeoutOccurred_70
# DEBUG BEGIN_STMT
_24 ={v} _10->PRTN_COFB_STAT[collection_62];
_25 = _24 >> enableRequest_63;
_26 = _25 & 1;
if (_26 == 0)
goto <bb 9>; [94.50%]
else
goto <bb 10>; [5.50%]
<bb 9> [local count: 385067989]:
if (TimeoutOccurred_70 != 0)
goto <bb 10>; [5.50%]
else
goto <bb 23>; [94.50%]
<bb 23> [local count: 363889250]:
goto <bb 8>; [100.00%]
<bb 10> [local count: 43590104]:
# TimeoutOccurred_4 = PHI <TimeoutOccurred_70(8), TimeoutOccurred_70(9)>
# DEBUG BEGIN_STMT
if (TimeoutOccurred_4 != 0)
goto <bb 11>; [33.00%]
else
goto <bb 12>; [67.00%]
<bb 11> [local count: 14384734]:
# DEBUG BEGIN_STMT
_27 = config_59(D)->name;
ReportClockErrors (1, _27);
<bb 12> [local count: 459454128]:
# DEBUG BEGIN_STMT
_28 = config_59(D)->bypassOption;
_29 = (long unsigned int) _28;
_30 = _29 << 31;
_31 = config_59(D)->startupDelay;
_32 = (long unsigned int) _31;
_33 = _32 << 16;
_34 = _33 & 16711680;
_35 = _30 | _34;
_36 = config_59(D)->transConductance;
_37 = (long unsigned int) _36;
_38 = _37 << 4;
_39 = _38 & 255;
_40 = _35 | _39;
_41 = config_59(D)->compEn;
_42 = (long unsigned int) _41;
_43 = _42 << 24;
_44 = _43 & 16777216;
_45 = _40 | _44;
_46 = xosc[instance_60];
_47 = _45 | 1;
_46->CTRL ={v} _47;
# DEBUG BEGIN_STMT
if (_41 != 0)
goto <bb 13>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 13> [local count: 229727064]:
# DEBUG BEGIN_STMT
if (_28 == 0)
goto <bb 14>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 14> [local count: 114863532]:
# DEBUG BEGIN_STMT
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
<bb 15> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
Clock_Ip_TimeDelay ();
# DEBUG BEGIN_STMT
_48 ={v} _46->STAT;
_49 = _48 >> 31;
# DEBUG FxoscStatus => _49
# DEBUG BEGIN_STMT
TimeoutTicks.3_50 = TimeoutTicks;
TimeoutOccurred_77 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.3_50);
# DEBUG TimeoutOccurred => TimeoutOccurred_77
# DEBUG BEGIN_STMT
if (_49 == 0)
goto <bb 16>; [94.50%]
else
goto <bb 17>; [5.50%]
<bb 16> [local count: 1014686025]:
if (TimeoutOccurred_77 != 0)
goto <bb 17>; [5.50%]
else
goto <bb 22>; [94.50%]
<bb 22> [local count: 958878293]:
goto <bb 15>; [100.00%]
<bb 17> [local count: 114863532]:
# TimeoutOccurred_5 = PHI <TimeoutOccurred_77(15), TimeoutOccurred_77(16)>
# DEBUG BEGIN_STMT
if (TimeoutOccurred_5 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 18> [local count: 57431766]:
# DEBUG BEGIN_STMT
_51 = config_59(D)->name;
UpdateClockState (_51, 255);
goto <bb 21>; [100.00%]
<bb 19> [local count: 57431766]:
# DEBUG BEGIN_STMT
_52 = config_59(D)->name;
ReportClockErrors (1, _52);
goto <bb 21>; [100.00%]
<bb 20> [local count: 114863532]:
# DEBUG BEGIN_STMT
_53 = config_59(D)->name;
ReportClockErrors (2, _53);
<bb 21> [local count: 918908257]:
StartTime ={v} {CLOBBER};
ElapsedTime ={v} {CLOBBER};
TimeoutTicks ={v} {CLOBBER};
return;
}
;; Function ResetFxoscOsconBypEocvGmSel (ResetFxoscOsconBypEocvGmSel, funcdef_no=1, decl_uid=5056, cgraph_uid=2, symbol_order=2)
Modification phase of node ResetFxoscOsconBypEocvGmSel/2
ResetFxoscOsconBypEocvGmSel (const struct Clock_Ip_XoscConfigType * config)
{
uint32 enableRequest;
uint32 collection;
uint32 partition;
uint32 instance;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _4;
unsigned char _5;
unsigned char _6;
const volatile struct getMcmePartition_Type * _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
volatile struct ExtOSC_Type * _11;
long unsigned int _12;
long unsigned int _13;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
_1 = config_16(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_17 = (uint32) _3;
# DEBUG instance => instance_17
# DEBUG BEGIN_STMT
_4 = clockFeatures[_2][3];
partition_18 = (uint32) _4;
# DEBUG partition => partition_18
# DEBUG BEGIN_STMT
_5 = clockFeatures[_2][4];
collection_19 = (uint32) _5;
# DEBUG collection => collection_19
# DEBUG BEGIN_STMT
_6 = clockFeatures[_2][5];
enableRequest_20 = (uint32) _6;
# DEBUG enableRequest => enableRequest_20
# DEBUG BEGIN_STMT
# DEBUG isGatedInMcMe => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (partition_18 != 255)
goto <bb 3>; [66.00%]
else
goto <bb 6>; [34.00%]
<bb 3> [local count: 708669604]:
if (collection_19 != 255)
goto <bb 4>; [66.00%]
else
goto <bb 6>; [34.00%]
<bb 4> [local count: 467721938]:
if (enableRequest_20 != 255)
goto <bb 5>; [66.00%]
else
goto <bb 6>; [34.00%]
<bb 5> [local count: 308696479]:
# DEBUG BEGIN_STMT
_7 = mcmeGetPartitions[partition_18];
_8 ={v} _7->PRTN_COFB_STAT[collection_19];
_9 = _8 >> enableRequest_20;
_10 = _9 & 1;
if (_10 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 919393583]:
# DEBUG isGatedInMcMe => NULL
# DEBUG BEGIN_STMT
_11 = xosc[instance_17];
_12 ={v} _11->CTRL;
_13 = _12 & 4294967294;
_11->CTRL ={v} _13;
<bb 7> [local count: 1073741824]:
# DEBUG isGatedInMcMe => NULL
# DEBUG BEGIN_STMT
UpdateClockState (_1, 0);
return;
}