IPA constant propagation start: IPA structures before propagation: Jump functions: Jump functions of caller OsIf_MicrosToTicks/10: Jump functions of caller OsIf_SetTimerFrequency/9: Jump functions of caller OsIf_GetElapsed/8: Jump functions of caller OsIf_GetCounter/7: Jump functions of caller OsIf_Init/6: Propagating constants: Not considering OsIf_MicrosToTicks for cloning; -fipa-cp-clone disabled. Not considering OsIf_SetTimerFrequency for cloning; -fipa-cp-clone disabled. Not considering OsIf_GetElapsed for cloning; -fipa-cp-clone disabled. Not considering OsIf_GetCounter for cloning; -fipa-cp-clone disabled. Not considering OsIf_Init for cloning; -fipa-cp-clone disabled. overall_size: 25, max_new_size: 11001 - context independent values, size: 3, time_benefit: 2.000000 - context independent values, size: 5, time_benefit: 1.000000 - context independent values, size: 3, time_benefit: 1.000000 IPA lattices after all propagation: Lattices: Node: OsIf_MicrosToTicks/10: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: OsIf_SetTimerFrequency/9: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: OsIf_GetElapsed/8: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM param [1]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: OsIf_GetCounter/7: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: OsIf_Init/6: 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: OsIf_MicrosToTicks/10 (OsIf_MicrosToTicks) @05d5db60 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: OsIf_SetTimerFrequency/9 (OsIf_SetTimerFrequency) @05d5d620 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: OsIf_GetElapsed/8 (OsIf_GetElapsed) @05d5d0e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: OsIf_GetCounter/7 (OsIf_GetCounter) @05d5dd20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: OsIf_Init/6 (OsIf_Init) @05d5da80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:306783 (estimated locally) body optimize_size Called by: Calls: ;; Function OsIf_Init (OsIf_Init, funcdef_no=6, decl_uid=4058, cgraph_uid=7, symbol_order=6) Modification phase of node OsIf_Init/6 OsIf_Init (const void * Config) { volatile boolean x; _Bool x.0_4; [local count: 306783]: # DEBUG BEGIN_STMT if (Config_2(D) != 0B) goto ; [70.00%] else goto ; [30.00%] [local count: 214748]: # DEBUG BEGIN_STMT x ={v} 0; # DEBUG x => x # DEBUG INLINE_ENTRY DevAssert # DEBUG BEGIN_STMT x.0_4 ={v} x; if (x.0_4 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 107374]: [local count: 1073741823]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] [local count: 199409]: # DEBUG x => NULL # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY NULL # DEBUG BEGIN_STMT return; } ;; Function OsIf_GetCounter (OsIf_GetCounter, funcdef_no=7, decl_uid=4060, cgraph_uid=8, symbol_order=7) Modification phase of node OsIf_GetCounter/7 OsIf_GetCounter (OsIf_CounterType SelectedCounter) { [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG Value => 0 # DEBUG BEGIN_STMT # DEBUG Value => 0 # DEBUG BEGIN_STMT return 0; } ;; Function OsIf_GetElapsed (OsIf_GetElapsed, funcdef_no=8, decl_uid=4063, cgraph_uid=9, symbol_order=8) Modification phase of node OsIf_GetElapsed/8 OsIf_GetElapsed (uint32 * const CurrentRef, OsIf_CounterType SelectedCounter) { uint32 Value; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG Value => 0 # DEBUG BEGIN_STMT if (SelectedCounter_2(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG D#1 => CurrentRef_4(D) # DEBUG INLINE_ENTRY NULL # DEBUG CurrentRef => D#1 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG Value => 1 # DEBUG BEGIN_STMT [local count: 1073741824]: # Value_1 = PHI <1(3), 0(2)> # DEBUG Value => Value_1 # DEBUG BEGIN_STMT return Value_1; } ;; Function OsIf_SetTimerFrequency (OsIf_SetTimerFrequency, funcdef_no=9, decl_uid=4066, cgraph_uid=10, symbol_order=9) Modification phase of node OsIf_SetTimerFrequency/9 OsIf_SetTimerFrequency (uint32 Freq, OsIf_CounterType SelectedCounter) { [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG Freq => NULL return; } ;; Function OsIf_MicrosToTicks (OsIf_MicrosToTicks, funcdef_no=10, decl_uid=4069, cgraph_uid=11, symbol_order=10) Modification phase of node OsIf_MicrosToTicks/10 OsIf_MicrosToTicks (uint32 Micros, OsIf_CounterType SelectedCounter) { uint32 Value; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG Value => 0 # DEBUG BEGIN_STMT if (SelectedCounter_2(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT # DEBUG Micros => Micros_4(D) # DEBUG INLINE_ENTRY NULL # DEBUG BEGIN_STMT # DEBUG Micros => NULL # DEBUG Value => Micros_4(D) # DEBUG BEGIN_STMT [local count: 1073741824]: # Value_1 = PHI # DEBUG Value => Value_1 # DEBUG BEGIN_STMT return Value_1; }