IPA constant propagation start: IPA structures before propagation: Jump functions: Jump functions of caller CgmXPcfsSdurDivcDiveDivs/2: Jump functions of caller ProgressiveFrequencyClockSwitchEmpty/1: Propagating constants: Not considering CgmXPcfsSdurDivcDiveDivs for cloning; -fipa-cp-clone disabled. Not considering ProgressiveFrequencyClockSwitchEmpty for cloning; -fipa-cp-clone disabled. overall_size: 26, max_new_size: 11001 - context independent values, size: 3, time_benefit: 1.000000 IPA lattices after all propagation: Lattices: Node: CgmXPcfsSdurDivcDiveDivs/2: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: ProgressiveFrequencyClockSwitchEmpty/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: cgmPcfs/5 (cgmPcfs) @060e7ea0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: CgmXPcfsSdurDivcDiveDivs/2 (read) Availability: not_available Varpool flags: read-only pcfsEntries/4 (pcfsEntries) @060e7e58 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read) Availability: not_available Varpool flags: clockFeatures/3 (clockFeatures) @060e7e10 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read)CgmXPcfsSdurDivcDiveDivs/2 (read) Availability: not_available Varpool flags: read-only CgmXPcfsSdurDivcDiveDivs/2 (CgmXPcfsSdurDivcDiveDivs) @060f4000 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: clockFeatures/3 (read)clockFeatures/3 (read)clockFeatures/3 (read)pcfsEntries/4 (read)cgmPcfs/5 (read)pcfsEntries/4 (read)pcfsEntries/4 (read)pcfsEntries/4 (read)pcfsEntries/4 (read) Referring: pcfsCallbacks/0 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: ProgressiveFrequencyClockSwitchEmpty/1 (ProgressiveFrequencyClockSwitchEmpty) @060eda80 Type: function definition analyzed Visibility: prevailing_def_ironly Address is taken. References: Referring: pcfsCallbacks/0 (addr) Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: pcfsCallbacks/0 (pcfsCallbacks) @060e79d8 Type: variable definition analyzed Visibility: externally_visible public References: ProgressiveFrequencyClockSwitchEmpty/1 (addr)CgmXPcfsSdurDivcDiveDivs/2 (addr) Referring: Availability: available Varpool flags: initialized read-only const-value-known ;; Function ProgressiveFrequencyClockSwitchEmpty (ProgressiveFrequencyClockSwitchEmpty, funcdef_no=0, decl_uid=5054, cgraph_uid=1, symbol_order=1) Modification phase of node ProgressiveFrequencyClockSwitchEmpty/1 ProgressiveFrequencyClockSwitchEmpty (const struct Clock_Ip_PcfsConfigType * config) { [local count: 1073741824]: # DEBUG BEGIN_STMT return; } ;; Function CgmXPcfsSdurDivcDiveDivs (CgmXPcfsSdurDivcDiveDivs, funcdef_no=1, decl_uid=5056, cgraph_uid=2, symbol_order=2) Modification phase of node CgmXPcfsSdurDivcDiveDivs/2 CgmXPcfsSdurDivcDiveDivs (const struct Clock_Ip_PcfsConfigType * config) { uint32 swIndex; uint32 hwIndex; uint32 instance; _1; int _2; unsigned char _3; unsigned char _4; unsigned char _5; long unsigned int _6; volatile struct cgmPcfs_Type * _7; long unsigned int _8; long unsigned int _9; long unsigned int _10; long unsigned int _11; long unsigned int _12; long unsigned int _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = config_19(D)->name; _2 = (int) _1; _3 = clockFeatures[_2][2]; instance_20 = (uint32) _3; # DEBUG instance => instance_20 # DEBUG BEGIN_STMT _4 = clockFeatures[_2][4]; hwIndex_21 = (uint32) _4; # DEBUG hwIndex => hwIndex_21 # DEBUG BEGIN_STMT _5 = clockFeatures[_2][5]; swIndex_22 = (uint32) _5; # DEBUG swIndex => swIndex_22 # DEBUG BEGIN_STMT _6 = pcfsEntries[swIndex_22].sdur; _7 = cgmPcfs[instance_20]; _8 = _6 & 65535; _7->PCFS_SDUR ={v} _8; # DEBUG BEGIN_STMT _9 = pcfsEntries[swIndex_22].divc_rate; _10 = _9 & 255; _11 = pcfsEntries[swIndex_22].divc_init; _12 = _11 << 16; _13 = _10 | _12; _7->PCFS[hwIndex_21].DIVC ={v} _13; # DEBUG BEGIN_STMT _14 = pcfsEntries[swIndex_22].div_endValue; _15 = _14 & 1048575; _7->PCFS[hwIndex_21].DIVE ={v} _15; # DEBUG BEGIN_STMT _16 = pcfsEntries[swIndex_22].div_startValue; _17 = _16 & 1048575; _7->PCFS[hwIndex_21].DIVS ={v} _17; return; }