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) { [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) { [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; _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; _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; _45; [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 ; [50.00%] else goto ; [50.00%] [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 ; [33.00%] else goto ; [67.00%] [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); [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 ; [94.50%] else goto ; [5.50%] [local count: 1014686025]: if (TimeoutOccurred_68 != 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: 37904965]: # DEBUG BEGIN_STMT _26 = config_50(D)->name; ReportClockErrors (1, _26); goto ; [100.00%] [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 ; [33.00%] else goto ; [67.00%] [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); [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 ; [94.50%] else goto ; [5.50%] [local count: 1014686025]: if (TimeoutOccurred_60 != 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 _45 = config_50(D)->name; ReportClockErrors (1, _45); [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; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT config.name = clockName_3(D); # DEBUG BEGIN_STMT if (gate_5(D) != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT config.enable = 0; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT config.enable = 1; [local count: 1073741824]: # DEBUG BEGIN_STMT ClockSetGateMcMePartitionCollectionClockRequest (&config); config ={v} {CLOBBER}; return; }