IPA function summary for ClockUpdateGateMcMePartitionCollectionClockRequest/4 inlinable global time: 17.000000 self size: 10 global size: 10 min size: 4 self stack: 4 global stack: 4 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:0.500000, executed if:(op1 == 0) size:1.000000, time:0.500000, executed if:(op1 != 0) calls: ClockSetGateMcMePartitionCollectionClockRequest/3 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size:48 stack:12 op0 is compile time invariant IPA function summary for ClockSetGateMcMePartitionCollectionClockRequest/3 inlinable global time: 96.647692 self size: 97 global size: 97 min size: 0 self stack: 12 global stack: 12 size:3.000000, time:3.000000 size:3.000000, time:2.000000, 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: 16] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 16] changed) size:29.500000, time:17.671891, executed if:(op0[ref offset: 16] == 0) size:0.500000, time:0.027225, executed if:(op0[ref offset: 16] == 0) && (not inlined) size:28.500000, time:17.506891, executed if:(op0[ref offset: 16] != 0) size:0.500000, time:0.027225, executed if:(op0[ref offset: 16] != 0) && (not inlined) array index:(op0[ref offset: 0] changed) calls: ReportClockErrors/12 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant ClockTimeoutExpired/11 function body not available loop depth: 1 freq:1.54 size: 5 time: 14 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/10 function body not available loop depth: 0 freq:0.16 size: 5 time: 14 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant McMeEnterKey/9 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0[ref offset: 16] == 0) ReportClockErrors/12 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant ClockTimeoutExpired/11 function body not available loop depth: 1 freq:1.54 size: 5 time: 14 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/10 function body not available loop depth: 0 freq:0.16 size: 5 time: 14 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant McMeEnterKey/9 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0[ref offset: 16] != 0) IPA function summary for ClockUpdateGateEmpty/2 inlinable global time: 2.000000 self size: 3 global size: 3 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: IPA function summary for ClockSetGateEmpty/1 inlinable global time: 2.000000 self size: 3 global size: 3 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: Flattening functions: Overall time estimate: 117.647692 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in ClockUpdateGateMcMePartitionCollectionClockRequest/4. Enqueueing calls in ClockSetGateMcMePartitionCollectionClockRequest/3. Enqueueing calls in ClockUpdateGateEmpty/2. Enqueueing calls in ClockSetGateEmpty/1. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 117.647692 weighted by profile: 0.000000 Why inlining failed? function body not available : 8 calls, 3.853733 freq, 0 count call is unlikely and code size would grow : 1 calls, 1.000000 freq, 0 count IPA function summary for ClockUpdateGateMcMePartitionCollectionClockRequest/4 inlinable global time: 17.000000 self size: 10 global size: 10 min size: 4 self stack: 4 global stack: 4 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:2.000000, time:2.000000, nonconst if:(op1 changed) size:1.000000, time:0.500000, executed if:(op1 == 0) size:1.000000, time:0.500000, executed if:(op1 != 0) calls: ClockSetGateMcMePartitionCollectionClockRequest/3 call is unlikely and code size would grow loop depth: 0 freq:1.00 size: 2 time: 11callee size:48 stack:12 op0 is compile time invariant IPA function summary for ClockSetGateMcMePartitionCollectionClockRequest/3 inlinable global time: 96.647692 self size: 97 global size: 97 min size: 3 self stack: 12 global stack: 12 estimated growth:90 size:3.000000, time:3.000000 size:3.000000, time:2.000000, 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: 16] changed) && (not inlined) size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 16] changed) size:29.500000, time:17.671891, executed if:(op0[ref offset: 16] == 0) size:0.500000, time:0.027225, executed if:(op0[ref offset: 16] == 0) && (not inlined) size:28.500000, time:17.506891, executed if:(op0[ref offset: 16] != 0) size:0.500000, time:0.027225, executed if:(op0[ref offset: 16] != 0) && (not inlined) array index:(op0[ref offset: 0] changed) calls: ReportClockErrors/12 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant ClockTimeoutExpired/11 function body not available loop depth: 1 freq:1.54 size: 5 time: 14 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/10 function body not available loop depth: 0 freq:0.16 size: 5 time: 14 predicate: (op0[ref offset: 16] == 0) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant McMeEnterKey/9 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0[ref offset: 16] == 0) ReportClockErrors/12 function body not available loop depth: 0 freq:0.05 size: 3 time: 12 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant ClockTimeoutExpired/11 function body not available loop depth: 1 freq:1.54 size: 5 time: 14 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant op1 is compile time invariant ClockStartTimeout/10 function body not available loop depth: 0 freq:0.16 size: 5 time: 14 predicate: (op0[ref offset: 16] != 0) op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant op3 is compile time invariant McMeEnterKey/9 function body not available loop depth: 0 freq:0.16 size: 1 time: 10 predicate: (op0[ref offset: 16] != 0) IPA function summary for ClockUpdateGateEmpty/2 inlinable global time: 2.000000 self size: 3 global size: 3 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: IPA function summary for ClockSetGateEmpty/1 inlinable global time: 2.000000 self size: 3 global size: 3 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: ReportClockErrors/12 (ReportClockErrors) @06183a80 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) @061839a0 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) @061838c0 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) @061837e0 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) @0618a3f0 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) @0618a3a8 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) @0618a360 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) @0618a318 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) @061831c0 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) @06073d20 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) @06073ee0 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) @06073c40 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) @0606dee8 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) 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) 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) 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) 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; }