mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
493 lines
16 KiB
C++
493 lines
16 KiB
C++
|
|
IPA constant propagation start:
|
|
Determining dynamic type for call: ClockSetGateMcMePartitionCollectionClockRequest (&config);
|
|
Starting walk at: ClockSetGateMcMePartitionCollectionClockRequest (&config);
|
|
instance pointer: &config Outer instance pointer: config offset: 0 (bits) vtbl reference:
|
|
|
|
IPA structures before propagation:
|
|
|
|
Jump functions:
|
|
Jump functions of caller ReportClockErrors/12:
|
|
Jump functions of caller ClockTimeoutExpired/11:
|
|
Jump functions of caller ClockStartTimeout/10:
|
|
Jump functions of caller McMeEnterKey/9:
|
|
Jump functions of caller ClockUpdateGateMcMePartitionCollectionClockRequest/4:
|
|
callsite ClockUpdateGateMcMePartitionCollectionClockRequest/4 -> ClockSetGateMcMePartitionCollectionClockRequest/3 :
|
|
param 0: UNKNOWN
|
|
value: 0x0, mask: 0xfffffffc
|
|
VR ~[0, 0]
|
|
Jump functions of caller ClockSetGateMcMePartitionCollectionClockRequest/3:
|
|
Jump functions of caller ClockUpdateGateEmpty/2:
|
|
Jump functions of caller ClockSetGateEmpty/1:
|
|
|
|
Propagating constants:
|
|
|
|
Not considering ClockUpdateGateMcMePartitionCollectionClockRequest for cloning; -fipa-cp-clone disabled.
|
|
Not considering ClockSetGateMcMePartitionCollectionClockRequest for cloning; -fipa-cp-clone disabled.
|
|
Not considering ClockUpdateGateEmpty for cloning; -fipa-cp-clone disabled.
|
|
Not considering ClockSetGateEmpty for cloning; -fipa-cp-clone disabled.
|
|
|
|
overall_size: 113, max_new_size: 11001
|
|
- context independent values, size: 3, time_benefit: 2.000000
|
|
- context independent values, size: 3, time_benefit: 1.000000
|
|
|
|
IPA lattices after all propagation:
|
|
|
|
Lattices:
|
|
Node: ClockUpdateGateMcMePartitionCollectionClockRequest/4:
|
|
param [0]: BOTTOM
|
|
ctxs: BOTTOM
|
|
Bits unusable (BOTTOM)
|
|
VARYING
|
|
AGGS BOTTOM
|
|
param [1]: BOTTOM
|
|
ctxs: BOTTOM
|
|
Bits unusable (BOTTOM)
|
|
VARYING
|
|
AGGS BOTTOM
|
|
Node: ClockSetGateMcMePartitionCollectionClockRequest/3:
|
|
param [0]: BOTTOM
|
|
ctxs: BOTTOM
|
|
Bits unusable (BOTTOM)
|
|
VARYING
|
|
AGGS BOTTOM
|
|
Node: ClockUpdateGateEmpty/2:
|
|
param [0]: BOTTOM
|
|
ctxs: BOTTOM
|
|
Bits unusable (BOTTOM)
|
|
VARYING
|
|
AGGS BOTTOM
|
|
param [1]: BOTTOM
|
|
ctxs: BOTTOM
|
|
Bits unusable (BOTTOM)
|
|
VARYING
|
|
AGGS BOTTOM
|
|
Node: ClockSetGateEmpty/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:
|
|
|
|
ReportClockErrors/12 (ReportClockErrors) @06ba6a80
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: ClockSetGateMcMePartitionCollectionClockRequest/3 (37904965 (estimated locally),0.05 per call) ClockSetGateMcMePartitionCollectionClockRequest/3 (37904965 (estimated locally),0.05 per call)
|
|
Calls:
|
|
ClockTimeoutExpired/11 (ClockTimeoutExpired) @06ba69a0
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: ClockSetGateMcMePartitionCollectionClockRequest/3 (1073741824 (estimated locally),1.54 per call) ClockSetGateMcMePartitionCollectionClockRequest/3 (1073741824 (estimated locally),1.54 per call)
|
|
Calls:
|
|
ClockStartTimeout/10 (ClockStartTimeout) @06ba68c0
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: ClockSetGateMcMePartitionCollectionClockRequest/3 (114863532 (estimated locally),0.16 per call) ClockSetGateMcMePartitionCollectionClockRequest/3 (114863532 (estimated locally),0.16 per call)
|
|
Calls:
|
|
McMeEnterKey/9 (McMeEnterKey) @06ba67e0
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: ClockSetGateMcMePartitionCollectionClockRequest/3 (114863532 (estimated locally),0.16 per call) ClockSetGateMcMePartitionCollectionClockRequest/3 (114863532 (estimated locally),0.16 per call)
|
|
Calls:
|
|
mcmeTriggerPartitions/8 (mcmeTriggerPartitions) @06bad3f0
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: ClockSetGateMcMePartitionCollectionClockRequest/3 (read)ClockSetGateMcMePartitionCollectionClockRequest/3 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
mcmeSetPartitions/7 (mcmeSetPartitions) @06bad3a8
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: ClockSetGateMcMePartitionCollectionClockRequest/3 (read)ClockSetGateMcMePartitionCollectionClockRequest/3 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
mcmeGetPartitions/6 (mcmeGetPartitions) @06bad360
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: ClockSetGateMcMePartitionCollectionClockRequest/3 (read)ClockSetGateMcMePartitionCollectionClockRequest/3 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
clockFeatures/5 (clockFeatures) @06bad318
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: ClockSetGateMcMePartitionCollectionClockRequest/3 (read)ClockSetGateMcMePartitionCollectionClockRequest/3 (read)ClockSetGateMcMePartitionCollectionClockRequest/3 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
ClockUpdateGateMcMePartitionCollectionClockRequest/4 (ClockUpdateGateMcMePartitionCollectionClockRequest) @06ba61c0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References:
|
|
Referring: gateCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: ClockSetGateMcMePartitionCollectionClockRequest/3 (1073741824 (estimated locally),1.00 per call)
|
|
ClockSetGateMcMePartitionCollectionClockRequest/3 (ClockSetGateMcMePartitionCollectionClockRequest) @06bdcd20
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References: clockFeatures/5 (read)clockFeatures/5 (read)clockFeatures/5 (read)mcmeGetPartitions/6 (read)mcmeSetPartitions/7 (read)mcmeTriggerPartitions/8 (read)mcmeGetPartitions/6 (read)mcmeSetPartitions/7 (read)mcmeTriggerPartitions/8 (read)
|
|
Referring: gateCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:696142619 (estimated locally) body optimize_size
|
|
Called by: ClockUpdateGateMcMePartitionCollectionClockRequest/4 (1073741824 (estimated locally),1.00 per call)
|
|
Calls: ReportClockErrors/12 (37904965 (estimated locally),0.05 per call) ClockTimeoutExpired/11 (1073741824 (estimated locally),1.54 per call) ClockStartTimeout/10 (114863532 (estimated locally),0.16 per call) McMeEnterKey/9 (114863532 (estimated locally),0.16 per call) ReportClockErrors/12 (37904965 (estimated locally),0.05 per call) ClockTimeoutExpired/11 (1073741824 (estimated locally),1.54 per call) ClockStartTimeout/10 (114863532 (estimated locally),0.16 per call) McMeEnterKey/9 (114863532 (estimated locally),0.16 per call)
|
|
ClockUpdateGateEmpty/2 (ClockUpdateGateEmpty) @06bdcee0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References:
|
|
Referring: gateCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
ClockSetGateEmpty/1 (ClockSetGateEmpty) @06bdcc40
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
Address is taken.
|
|
References:
|
|
Referring: gateCallbacks/0 (addr)
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
gateCallbacks/0 (gateCallbacks) @06bd6ee8
|
|
Type: variable definition analyzed
|
|
Visibility: externally_visible public
|
|
References: ClockSetGateEmpty/1 (addr)ClockUpdateGateEmpty/2 (addr)ClockSetGateMcMePartitionCollectionClockRequest/3 (addr)ClockUpdateGateMcMePartitionCollectionClockRequest/4 (addr)
|
|
Referring:
|
|
Availability: available
|
|
Varpool flags: initialized read-only const-value-known
|
|
|
|
;; Function ClockSetGateEmpty (ClockSetGateEmpty, funcdef_no=0, decl_uid=5054, cgraph_uid=1, symbol_order=1)
|
|
|
|
Modification phase of node ClockSetGateEmpty/1
|
|
ClockSetGateEmpty (const struct Clock_Ip_GateConfigType * config)
|
|
{
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function ClockUpdateGateEmpty (ClockUpdateGateEmpty, funcdef_no=1, decl_uid=5057, cgraph_uid=2, symbol_order=2)
|
|
|
|
Modification phase of node ClockUpdateGateEmpty/2
|
|
ClockUpdateGateEmpty (Clock_Ip_NameType clockName, boolean gate)
|
|
{
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function ClockSetGateMcMePartitionCollectionClockRequest (ClockSetGateMcMePartitionCollectionClockRequest, funcdef_no=2, decl_uid=5059, cgraph_uid=3, symbol_order=3)
|
|
|
|
Modification phase of node ClockSetGateMcMePartitionCollectionClockRequest/3
|
|
ClockSetGateMcMePartitionCollectionClockRequest (const struct Clock_Ip_GateConfigType * config)
|
|
{
|
|
uint32 enableRequest;
|
|
uint32 collection;
|
|
uint32 partition;
|
|
uint32 TimeoutTicks;
|
|
uint32 ElapsedTime;
|
|
uint32 StartTime;
|
|
boolean TimeoutOccurred;
|
|
<unnamed type> _1;
|
|
int _2;
|
|
unsigned char _3;
|
|
unsigned char _6;
|
|
unsigned char _7;
|
|
short unsigned int _8;
|
|
const volatile struct getMcmePartition_Type * _9;
|
|
long unsigned int _10;
|
|
long unsigned int _11;
|
|
long unsigned int _12;
|
|
volatile struct setMcmePartition_Type * _13;
|
|
long unsigned int _14;
|
|
long unsigned int _15;
|
|
long unsigned int _16;
|
|
volatile struct triggerMcmePartition_Type * _17;
|
|
long unsigned int _18;
|
|
long unsigned int _19;
|
|
long unsigned int _20;
|
|
long unsigned int _21;
|
|
long unsigned int TimeoutTicks.0_22;
|
|
long unsigned int _23;
|
|
long unsigned int _24;
|
|
long unsigned int _25;
|
|
<unnamed type> _26;
|
|
const volatile struct getMcmePartition_Type * _27;
|
|
long unsigned int _28;
|
|
long unsigned int _29;
|
|
long unsigned int _30;
|
|
volatile struct setMcmePartition_Type * _31;
|
|
long unsigned int _32;
|
|
long unsigned int _33;
|
|
long unsigned int _34;
|
|
long unsigned int _35;
|
|
volatile struct triggerMcmePartition_Type * _36;
|
|
long unsigned int _37;
|
|
long unsigned int _38;
|
|
long unsigned int _39;
|
|
long unsigned int _40;
|
|
long unsigned int TimeoutTicks.1_41;
|
|
long unsigned int _42;
|
|
long unsigned int _43;
|
|
long unsigned int _44;
|
|
<unnamed type> _45;
|
|
|
|
<bb 2> [local count: 696142619]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG TimeoutOccurred => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_50(D)->name;
|
|
_2 = (int) _1;
|
|
_3 = clockFeatures[_2][3];
|
|
partition_51 = (uint32) _3;
|
|
# DEBUG partition => partition_51
|
|
# DEBUG BEGIN_STMT
|
|
_6 = clockFeatures[_2][4];
|
|
collection_52 = (uint32) _6;
|
|
# DEBUG collection => collection_52
|
|
# DEBUG BEGIN_STMT
|
|
_7 = clockFeatures[_2][5];
|
|
enableRequest_53 = (uint32) _7;
|
|
# DEBUG enableRequest => enableRequest_53
|
|
# DEBUG BEGIN_STMT
|
|
_8 = config_50(D)->enable;
|
|
if (_8 != 0)
|
|
goto <bb 3>; [50.00%]
|
|
else
|
|
goto <bb 9>; [50.00%]
|
|
|
|
<bb 3> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
_9 = mcmeGetPartitions[partition_51];
|
|
_10 ={v} _9->PRTN_COFB_STAT[collection_52];
|
|
_11 = _10 >> enableRequest_53;
|
|
_12 = _11 & 1;
|
|
if (_12 == 0)
|
|
goto <bb 4>; [33.00%]
|
|
else
|
|
goto <bb 15>; [67.00%]
|
|
|
|
<bb 4> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
_13 = mcmeSetPartitions[partition_51];
|
|
_14 ={v} _13->PRTN_COFB_CLKEN[collection_52];
|
|
_15 = 1 << enableRequest_53;
|
|
_16 = _14 | _15;
|
|
_13->PRTN_COFB_CLKEN[collection_52] ={v} _16;
|
|
# DEBUG BEGIN_STMT
|
|
_17 = mcmeTriggerPartitions[partition_51];
|
|
_18 ={v} _17->PRTN_PCONF;
|
|
_19 = _18 | 1;
|
|
_17->PRTN_PCONF ={v} _19;
|
|
# DEBUG BEGIN_STMT
|
|
_20 ={v} _17->PRTN_PUPD;
|
|
_21 = _20 | 1;
|
|
_17->PRTN_PUPD ={v} _21;
|
|
# DEBUG BEGIN_STMT
|
|
McMeEnterKey ();
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 5> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.0_22 = TimeoutTicks;
|
|
TimeoutOccurred_68 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_22);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_68
|
|
# DEBUG BEGIN_STMT
|
|
_23 ={v} _9->PRTN_COFB_STAT[collection_52];
|
|
_24 = _23 >> enableRequest_53;
|
|
_25 = _24 & 1;
|
|
if (_25 == 0)
|
|
goto <bb 6>; [94.50%]
|
|
else
|
|
goto <bb 7>; [5.50%]
|
|
|
|
<bb 6> [local count: 1014686025]:
|
|
if (TimeoutOccurred_68 != 0)
|
|
goto <bb 7>; [5.50%]
|
|
else
|
|
goto <bb 16>; [94.50%]
|
|
|
|
<bb 16> [local count: 958878292]:
|
|
goto <bb 5>; [100.00%]
|
|
|
|
<bb 7> [local count: 114863532]:
|
|
# TimeoutOccurred_5 = PHI <TimeoutOccurred_68(5), TimeoutOccurred_68(6)>
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_5 != 0)
|
|
goto <bb 8>; [33.00%]
|
|
else
|
|
goto <bb 15>; [67.00%]
|
|
|
|
<bb 8> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_26 = config_50(D)->name;
|
|
ReportClockErrors (1, _26);
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 9> [local count: 348071309]:
|
|
# DEBUG BEGIN_STMT
|
|
_27 = mcmeGetPartitions[partition_51];
|
|
_28 ={v} _27->PRTN_COFB_STAT[collection_52];
|
|
_29 = _28 >> enableRequest_53;
|
|
_30 = _29 & 1;
|
|
if (_30 != 0)
|
|
goto <bb 10>; [33.00%]
|
|
else
|
|
goto <bb 15>; [67.00%]
|
|
|
|
<bb 10> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
_31 = mcmeSetPartitions[partition_51];
|
|
_32 ={v} _31->PRTN_COFB_CLKEN[collection_52];
|
|
_33 = 1 << enableRequest_53;
|
|
_34 = ~_33;
|
|
_35 = _32 & _34;
|
|
_31->PRTN_COFB_CLKEN[collection_52] ={v} _35;
|
|
# DEBUG BEGIN_STMT
|
|
_36 = mcmeTriggerPartitions[partition_51];
|
|
_37 ={v} _36->PRTN_PCONF;
|
|
_38 = _37 | 1;
|
|
_36->PRTN_PCONF ={v} _38;
|
|
# DEBUG BEGIN_STMT
|
|
_39 ={v} _36->PRTN_PUPD;
|
|
_40 = _39 | 1;
|
|
_36->PRTN_PUPD ={v} _40;
|
|
# DEBUG BEGIN_STMT
|
|
McMeEnterKey ();
|
|
# DEBUG BEGIN_STMT
|
|
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
|
|
|
|
<bb 11> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
TimeoutTicks.1_41 = TimeoutTicks;
|
|
TimeoutOccurred_60 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.1_41);
|
|
# DEBUG TimeoutOccurred => TimeoutOccurred_60
|
|
# DEBUG BEGIN_STMT
|
|
_42 ={v} _27->PRTN_COFB_STAT[collection_52];
|
|
_43 = _42 >> enableRequest_53;
|
|
_44 = _43 & 1;
|
|
if (_44 != 0)
|
|
goto <bb 12>; [94.50%]
|
|
else
|
|
goto <bb 13>; [5.50%]
|
|
|
|
<bb 12> [local count: 1014686025]:
|
|
if (TimeoutOccurred_60 != 0)
|
|
goto <bb 13>; [5.50%]
|
|
else
|
|
goto <bb 17>; [94.50%]
|
|
|
|
<bb 17> [local count: 958878292]:
|
|
goto <bb 11>; [100.00%]
|
|
|
|
<bb 13> [local count: 114863532]:
|
|
# TimeoutOccurred_4 = PHI <TimeoutOccurred_60(11), TimeoutOccurred_60(12)>
|
|
# DEBUG BEGIN_STMT
|
|
if (TimeoutOccurred_4 != 0)
|
|
goto <bb 14>; [33.00%]
|
|
else
|
|
goto <bb 15>; [67.00%]
|
|
|
|
<bb 14> [local count: 37904965]:
|
|
# DEBUG BEGIN_STMT
|
|
_45 = config_50(D)->name;
|
|
ReportClockErrors (1, _45);
|
|
|
|
<bb 15> [local count: 696142618]:
|
|
StartTime ={v} {CLOBBER};
|
|
ElapsedTime ={v} {CLOBBER};
|
|
TimeoutTicks ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function ClockUpdateGateMcMePartitionCollectionClockRequest (ClockUpdateGateMcMePartitionCollectionClockRequest, funcdef_no=3, decl_uid=5062, cgraph_uid=4, symbol_order=4)
|
|
|
|
Modification phase of node ClockUpdateGateMcMePartitionCollectionClockRequest/4
|
|
ClockUpdateGateMcMePartitionCollectionClockRequest (Clock_Ip_NameType clockName, boolean gate)
|
|
{
|
|
struct Clock_Ip_GateConfigType config;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
config.name = clockName_3(D);
|
|
# DEBUG BEGIN_STMT
|
|
if (gate_5(D) != 0)
|
|
goto <bb 3>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 3> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
config.enable = 0;
|
|
goto <bb 5>; [100.00%]
|
|
|
|
<bb 4> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
config.enable = 1;
|
|
|
|
<bb 5> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
ClockSetGateMcMePartitionCollectionClockRequest (&config);
|
|
config ={v} {CLOBBER};
|
|
return;
|
|
|
|
}
|
|
|
|
|