IPA constant propagation start: IPA structures before propagation: Jump functions: Jump functions of caller sys_m7_cache_init/7: Jump functions of caller SystemInit/6: callsite SystemInit/6 -> sys_m7_cache_init/7 : Jump functions of caller Sys_GetCoreID/5: Jump functions of caller default_interrupt_routine/4: Jump functions of caller startup_go_to_user_mode/3: Propagating constants: Not considering SystemInit for cloning; -fipa-cp-clone disabled. Not considering Sys_GetCoreID for cloning; -fipa-cp-clone disabled. Not considering default_interrupt_routine for cloning; -fipa-cp-clone disabled. Not considering startup_go_to_user_mode for cloning; -fipa-cp-clone disabled. overall_size: 81, max_new_size: 11001 IPA lattices after all propagation: Lattices: Node: sys_m7_cache_init/7: Node: SystemInit/6: Node: Sys_GetCoreID/5: Node: default_interrupt_routine/4: Node: startup_go_to_user_mode/3: IPA decision stage: IPA constant propagation end Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: sys_m7_cache_init/7 (sys_m7_cache_init) @069be700 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:12992276 (estimated locally) body local optimize_size Called by: SystemInit/6 (10737418 (estimated locally),1.00 per call) Calls: SystemInit/6 (SystemInit) @069bee00 Type: function definition analyzed Visibility: externally_visible public References: rbar/0 (read)rasr/1 (read) Referring: Availability: available Function flags: count:10738492 (estimated locally) body optimize_size Called by: Calls: sys_m7_cache_init/7 (10737418 (estimated locally),1.00 per call) Sys_GetCoreID/5 (Sys_GetCoreID) @069beb60 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: default_interrupt_routine/4 (default_interrupt_routine) @069be8c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:107374 (estimated locally) body executed_once optimize_size Called by: Calls: startup_go_to_user_mode/3 (startup_go_to_user_mode) @069be620 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: RESET_CATCH_CORE/2 (RESET_CATCH_CORE) @069ba8b8 Type: variable definition analyzed Visibility: externally_visible public References: Referring: Availability: available Varpool flags: initialized rasr/1 (rasr) @0693c360 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: SystemInit/6 (read) Availability: available Varpool flags: initialized read-only const-value-known rbar/0 (rbar) @0693c288 Type: variable definition analyzed Visibility: prevailing_def_ironly References: Referring: SystemInit/6 (read) Availability: available Varpool flags: initialized read-only const-value-known ;; Function startup_go_to_user_mode (startup_go_to_user_mode, funcdef_no=0, decl_uid=4376, cgraph_uid=1, symbol_order=3) Modification phase of node startup_go_to_user_mode/3 startup_go_to_user_mode () { [local count: 1073741824]: # DEBUG BEGIN_STMT return; } ;; Function default_interrupt_routine (default_interrupt_routine, funcdef_no=1, decl_uid=4061, cgraph_uid=2, symbol_order=4) (executed once) Modification phase of node default_interrupt_routine/4 default_interrupt_routine () { [local count: 107374]: [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT [local count: 1073741824]: goto ; [100.00%] } ;; Function Sys_GetCoreID (Sys_GetCoreID, funcdef_no=2, decl_uid=4053, cgraph_uid=3, symbol_order=5) Modification phase of node Sys_GetCoreID/5 Sys_GetCoreID () { long unsigned int _1; unsigned char _2; uint8 _4; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM; _2 = (unsigned char) _1; _4 = _2 & 3; return _4; } ;; Function SystemInit (SystemInit, funcdef_no=3, decl_uid=4059, cgraph_uid=4, symbol_order=6) Modification phase of node SystemInit/6 SystemInit () { uint8 regionNum; uint32 coreMask; uint32 i; short unsigned int _1; short unsigned int _2; short unsigned int _3; long unsigned int _4; int _5; long unsigned int _6; long unsigned int _7; long unsigned int _8; long unsigned int _9; long unsigned int _28; unsigned char _29; unsigned char _30; [local count: 10738492]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG regionNum => 0 # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY Sys_GetCoreID # DEBUG BEGIN_STMT _28 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM; _29 = (unsigned char) _28; _30 = _29 & 3; # DEBUG coreId => _30 # DEBUG BEGIN_STMT switch (_30) [33.33%], case 0: [33.33%], case 1: [33.33%]> [local count: 3579139]: : # DEBUG BEGIN_STMT # DEBUG coreMask => 2 # DEBUG BEGIN_STMT goto ; [100.00%] [local count: 3579139]: : # DEBUG BEGIN_STMT # DEBUG coreMask => 0 # DEBUG BEGIN_STMT [local count: 10737418]: # coreMask_11 = PHI <1(2), 2(3), 0(4)> : # DEBUG coreMask => coreMask_11 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 1063004406]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10]; _2 = (short unsigned int) coreMask_11; _3 = _1 | _2; MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10] ={v} _3; # DEBUG BEGIN_STMT i_27 = i_10 + 1; # DEBUG i => i_27 [local count: 1073741824]: # i_10 = PHI <0(5), i_27(6)> # DEBUG i => i_10 # DEBUG BEGIN_STMT if (i_10 != 240) goto ; [99.00%] else goto ; [1.00%] [local count: 10737418]: # DEBUG BEGIN_STMT __asm__ __volatile__("dsb"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT # DEBUG regionNum => 0 goto ; [100.00%] [local count: 150243364]: # DEBUG BEGIN_STMT _4 = (long unsigned int) regionNum_12; MEM[(struct S32_MPU_Type *)3758153728B].RNR ={v} _4; # DEBUG BEGIN_STMT _5 = (int) regionNum_12; _6 = rbar[_5]; MEM[(struct S32_MPU_Type *)3758153728B].RBAR ={v} _6; # DEBUG BEGIN_STMT _7 = rasr[_5]; MEM[(struct S32_MPU_Type *)3758153728B].RASR ={v} _7; # DEBUG BEGIN_STMT regionNum_25 = regionNum_12 + 1; # DEBUG regionNum => regionNum_25 [local count: 160980783]: # regionNum_12 = PHI <0(8), regionNum_25(9)> # DEBUG regionNum => regionNum_12 # DEBUG BEGIN_STMT if (regionNum_12 != 14) goto ; [93.33%] else goto ; [6.67%] [local count: 10737418]: # DEBUG BEGIN_STMT _8 ={v} MEM[(struct S32_MPU_Type *)3758153728B].CTRL; _9 = _8 | 1; MEM[(struct S32_MPU_Type *)3758153728B].CTRL ={v} _9; # DEBUG BEGIN_STMT __asm__ __volatile__("dsb"); # DEBUG BEGIN_STMT __asm__ __volatile__("isb"); # DEBUG BEGIN_STMT sys_m7_cache_init (); return; }