mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
524 lines
13 KiB
Plaintext
524 lines
13 KiB
Plaintext
IPA function summary for sys_m7_cache_init/7 inlinable
|
|
global time: 812.256203
|
|
self size: 38
|
|
global size: 38
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:35.000000, time:810.256203
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
calls:
|
|
|
|
IPA function summary for SystemInit/6 inlinable
|
|
global time: 732.867143
|
|
self size: 33
|
|
global size: 33
|
|
min size: 2
|
|
self stack: 0
|
|
global stack: 0
|
|
size:29.000000, time:720.868343
|
|
size:3.000000, time:1.999800, executed if:(not inlined)
|
|
calls:
|
|
sys_m7_cache_init/7 function not considered for inlining
|
|
loop depth: 0 freq:1.00 size: 1 time: 10callee size:19 stack: 0
|
|
|
|
IPA function summary for Sys_GetCoreID/5 inlinable
|
|
global time: 4.000000
|
|
self size: 5
|
|
global size: 5
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:2.000000, time:2.000000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
calls:
|
|
|
|
IPA function summary for default_interrupt_routine/4 inlinable
|
|
global time: 0.000000
|
|
self size: 2
|
|
global size: 2
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:0.000000, time:0.000000
|
|
size:2.000000, time:0.000000, executed if:(not inlined)
|
|
calls:
|
|
|
|
IPA function summary for startup_go_to_user_mode/3 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: 1551.123346 weighted by profile: 0.000000
|
|
|
|
Deciding on inlining of small functions. Starting with size 0.
|
|
Enqueueing calls in sys_m7_cache_init/7.
|
|
Enqueueing calls in SystemInit/6.
|
|
Enqueueing calls in Sys_GetCoreID/5.
|
|
Enqueueing calls in default_interrupt_routine/4.
|
|
Enqueueing calls in startup_go_to_user_mode/3.
|
|
|
|
Considering sys_m7_cache_init/7 with 38 size
|
|
to be inlined into SystemInit/6 in ../Project_Settings/Startup_Code/system.c:273
|
|
Estimated badness is -0.021069, frequency 1.00.
|
|
|
|
Reclaiming functions:
|
|
Reclaiming variables:
|
|
Clearing address taken flags:
|
|
|
|
Deciding on functions to be inlined into all callers and removing useless speculations:
|
|
Overall time estimate: 1539.043310 weighted by profile: 0.000000
|
|
|
|
Why inlining failed?
|
|
IPA function summary for SystemInit/6 inlinable
|
|
global time: 1533.043310
|
|
self size: 33
|
|
global size: 67
|
|
min size: 2
|
|
self stack: 0
|
|
global stack: 0
|
|
size:64.000000, time:1531.043510
|
|
size:3.000000, time:1.999800, executed if:(not inlined)
|
|
calls:
|
|
sys_m7_cache_init/7 inlined
|
|
loop depth: 0 freq:1.00 size: 1 time: 10callee size:19 stack: 0
|
|
Stack frame offset 0, callee self size 0, callee size 0
|
|
|
|
IPA function summary for Sys_GetCoreID/5 inlinable
|
|
global time: 4.000000
|
|
self size: 5
|
|
global size: 5
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:2.000000, time:2.000000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
calls:
|
|
|
|
IPA function summary for default_interrupt_routine/4 inlinable
|
|
global time: 0.000000
|
|
self size: 2
|
|
global size: 2
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:0.000000, time:0.000000
|
|
size:2.000000, time:0.000000, executed if:(not inlined)
|
|
calls:
|
|
|
|
IPA function summary for startup_go_to_user_mode/3 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:
|
|
|
|
sys_m7_cache_init/7 (sys_m7_cache_init) @06b9e700
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring:
|
|
Function sys_m7_cache_init/7 is inline copy in SystemInit/6
|
|
Availability: local
|
|
Function flags: count:10737418 (estimated locally) body local optimize_size
|
|
Called by: SystemInit/6 (inlined) (10737418 (estimated locally),1.00 per call)
|
|
Calls:
|
|
SystemInit/6 (SystemInit) @06b9ee00
|
|
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 (inlined) (10737418 (estimated locally),1.00 per call)
|
|
Sys_GetCoreID/5 (Sys_GetCoreID) @06b9eb60
|
|
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) @06b9e8c0
|
|
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) @06b9e620
|
|
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) @06b9a900
|
|
Type: variable definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Varpool flags: initialized
|
|
rasr/1 (rasr) @06b1d3a8
|
|
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) @06b1d2d0
|
|
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)
|
|
|
|
startup_go_to_user_mode ()
|
|
{
|
|
<bb 2> [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)
|
|
|
|
default_interrupt_routine ()
|
|
{
|
|
<bb 2> [local count: 107374]:
|
|
|
|
<bb 3> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
goto <bb 3>; [100.00%]
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Sys_GetCoreID (Sys_GetCoreID, funcdef_no=2, decl_uid=4053, cgraph_uid=3, symbol_order=5)
|
|
|
|
Sys_GetCoreID ()
|
|
{
|
|
long unsigned int _1;
|
|
unsigned char _2;
|
|
uint8 _4;
|
|
|
|
<bb 2> [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)
|
|
|
|
|
|
Symbols to be put in SSA form
|
|
{ D.4424 }
|
|
Incremental SSA update started at block: 0
|
|
Number of blocks in CFG: 20
|
|
Number of blocks to update: 19 ( 95%)
|
|
|
|
|
|
Merging blocks 11 and 13
|
|
Removing basic block 16
|
|
Removing basic block 18
|
|
Merging blocks 19 and 12
|
|
;; 5 loops found
|
|
;;
|
|
;; Loop 0
|
|
;; header 0, latch 1
|
|
;; depth 0, outer -1
|
|
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
|
;;
|
|
;; Loop 3
|
|
;; header 12, latch 14
|
|
;; depth 1, outer 0
|
|
;; nodes: 12 14 13
|
|
;;
|
|
;; Loop 4
|
|
;; header 13, latch 13
|
|
;; depth 2, outer 3
|
|
;; nodes: 13
|
|
;;
|
|
;; Loop 2
|
|
;; header 10, latch 9
|
|
;; depth 1, outer 0
|
|
;; nodes: 10 9
|
|
;;
|
|
;; Loop 1
|
|
;; header 7, latch 6
|
|
;; depth 1, outer 0
|
|
;; nodes: 7 6
|
|
;; 2 succs { 4 5 3 }
|
|
;; 3 succs { 5 }
|
|
;; 4 succs { 5 }
|
|
;; 5 succs { 7 }
|
|
;; 6 succs { 7 }
|
|
;; 7 succs { 6 8 }
|
|
;; 8 succs { 10 }
|
|
;; 9 succs { 10 }
|
|
;; 10 succs { 9 11 }
|
|
;; 11 succs { 12 }
|
|
;; 12 succs { 13 }
|
|
;; 13 succs { 13 14 }
|
|
;; 14 succs { 12 15 }
|
|
;; 15 succs { 1 }
|
|
SystemInit ()
|
|
{
|
|
uint32 ccsidr;
|
|
uint32 sets;
|
|
uint32 ways;
|
|
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;
|
|
long unsigned int _32;
|
|
long unsigned int _34;
|
|
long unsigned int _37;
|
|
long unsigned int _38;
|
|
long unsigned int _40;
|
|
long unsigned int _41;
|
|
long unsigned int _44;
|
|
long unsigned int _45;
|
|
long unsigned int _46;
|
|
long unsigned int _47;
|
|
|
|
<bb 2> [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) <default: <L2> [33.33%], case 0: <L10> [33.33%], case 1: <L1> [33.33%]>
|
|
|
|
<bb 3> [local count: 3579139]:
|
|
<L1>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG coreMask => 2
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 5>; [100.00%]
|
|
|
|
<bb 4> [local count: 3579139]:
|
|
<L2>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG coreMask => 0
|
|
# DEBUG BEGIN_STMT
|
|
|
|
<bb 5> [local count: 10737418]:
|
|
# coreMask_11 = PHI <1(2), 2(3), 0(4)>
|
|
<L10>:
|
|
# DEBUG coreMask => coreMask_11
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG i => 0
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 6> [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
|
|
|
|
<bb 7> [local count: 1073741824]:
|
|
# i_10 = PHI <0(5), i_27(6)>
|
|
# DEBUG i => i_10
|
|
# DEBUG BEGIN_STMT
|
|
if (i_10 != 240)
|
|
goto <bb 6>; [99.00%]
|
|
else
|
|
goto <bb 8>; [1.00%]
|
|
|
|
<bb 8> [local count: 10737418]:
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("isb");
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG regionNum => 0
|
|
goto <bb 10>; [100.00%]
|
|
|
|
<bb 9> [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
|
|
|
|
<bb 10> [local count: 160980783]:
|
|
# regionNum_12 = PHI <0(8), regionNum_25(9)>
|
|
# DEBUG regionNum => regionNum_12
|
|
# DEBUG BEGIN_STMT
|
|
if (regionNum_12 != 14)
|
|
goto <bb 9>; [93.33%]
|
|
else
|
|
goto <bb 11>; [6.67%]
|
|
|
|
<bb 11> [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
|
|
# DEBUG INLINE_ENTRY sys_m7_cache_init
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG ccsidr => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG sets => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG ways => 0
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct S32_SCB_Type *)3758153728B].CSSELR ={v} 0;
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
ccsidr_31 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCSIDR;
|
|
# DEBUG ccsidr => ccsidr_31
|
|
# DEBUG BEGIN_STMT
|
|
_32 = ccsidr_31 >> 13;
|
|
sets_33 = _32 & 32767;
|
|
# DEBUG sets => sets_33
|
|
|
|
<bb 12> [local count: 97612895]:
|
|
# sets_36 = PHI <sets_33(11), sets_43(14)>
|
|
# DEBUG sets => sets_36
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_34 = ccsidr_31 >> 3;
|
|
ways_35 = _34 & 1023;
|
|
# DEBUG ways => ways_35
|
|
|
|
<bb 13> [local count: 887389957]:
|
|
# ways_39 = PHI <ways_35(12), ways_42(13)>
|
|
# DEBUG ways => ways_39
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_37 = sets_36 << 5;
|
|
_38 = _37 & 16352;
|
|
_40 = ways_39 << 30;
|
|
_41 = _38 | _40;
|
|
MEM[(struct S32_SCB_Type *)3758153728B].DCISW ={v} _41;
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
ways_42 = ways_39 + 4294967295;
|
|
# DEBUG ways => ways_42
|
|
if (ways_39 != 0)
|
|
goto <bb 13>; [89.00%]
|
|
else
|
|
goto <bb 14>; [11.00%]
|
|
|
|
<bb 14> [local count: 97612895]:
|
|
# DEBUG BEGIN_STMT
|
|
sets_43 = sets_36 + 4294967295;
|
|
# DEBUG sets => sets_43
|
|
if (sets_36 != 0)
|
|
goto <bb 12>; [89.00%]
|
|
else
|
|
goto <bb 15>; [11.00%]
|
|
|
|
<bb 15> [local count: 10737418]:
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
_44 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
|
|
_45 = _44 | 65536;
|
|
MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _45;
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("isb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("isb");
|
|
# DEBUG BEGIN_STMT
|
|
MEM[(struct S32_SCB_Type *)3758153728B].ICIALLU ={v} 0;
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("isb");
|
|
# DEBUG BEGIN_STMT
|
|
_46 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
|
|
_47 = _46 | 131072;
|
|
MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _47;
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("dsb");
|
|
# DEBUG BEGIN_STMT
|
|
__asm__ __volatile__("isb");
|
|
# DEBUG ways => NULL
|
|
# DEBUG sets => NULL
|
|
# DEBUG ccsidr => NULL
|
|
return;
|
|
|
|
}
|
|
|
|
|