ADM/GW/Debug_FLASH/Project_Settings/Startup_Code/system.c.077i.pure-const
2024-10-30 17:21:58 +09:00

682 lines
19 KiB
Plaintext

local analysis of sys_m7_cache_init
scanning: MEM[(struct S32_SCB_Type *)3758153728B].CSSELR ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: ccsidr_18 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCSIDR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _1 = ccsidr_18 >> 13;
scanning: sets_19 = _1 & 32767;
scanning: _2 = ccsidr_18 >> 3;
scanning: ways_20 = _2 & 1023;
scanning: _3 = sets_11 << 5;
scanning: _4 = _3 & 16352;
scanning: _5 = ways_12 << 30;
scanning: _6 = _4 | _5;
scanning: MEM[(struct S32_SCB_Type *)3758153728B].DCISW ={v} _6;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: ways_23 = ways_12 + 4294967295;
scanning: if (ways_12 != 0)
scanning: sets_24 = sets_11 + 4294967295;
scanning: if (sets_11 != 0)
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: _7 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _8 = _7 | 65536;
scanning: MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _8;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: MEM[(struct S32_SCB_Type *)3758153728B].ICIALLU ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: _9 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _10 = _9 | 131072;
scanning: MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _10;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: return;
Function is locally looping.
Function can locally free.
local analysis of SystemInit
scanning: _28 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _29 = (unsigned char) _28;
scanning: _30 = _29 & 3;
scanning: switch (_30) <default: <L2> [33.33%], case 0: <L10> [33.33%], case 1: <L1> [33.33%]>
scanning: <L1>:
scanning: <L2>:
scanning: <L10>:
scanning: _1 ={v} MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10];
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _2 = (short unsigned int) coreMask_11;
scanning: _3 = _1 | _2;
scanning: MEM[(struct MSCM_Type *)1076232192B].IRSPRC[i_10] ={v} _3;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: i_27 = i_10 + 1;
scanning: if (i_10 != 240)
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: _4 = (long unsigned int) regionNum_12;
scanning: MEM[(struct S32_MPU_Type *)3758153728B].RNR ={v} _4;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _5 = (int) regionNum_12;
scanning: _6 = rbar[_5];
scanning: MEM[(struct S32_MPU_Type *)3758153728B].RBAR ={v} _6;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _7 = rasr[_5];
scanning: MEM[(struct S32_MPU_Type *)3758153728B].RASR ={v} _7;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: regionNum_25 = regionNum_12 + 1;
scanning: if (regionNum_12 != 14)
scanning: _8 ={v} MEM[(struct S32_MPU_Type *)3758153728B].CTRL;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _9 = _8 | 1;
scanning: MEM[(struct S32_MPU_Type *)3758153728B].CTRL ={v} _9;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: __asm__ __volatile__("dsb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: __asm__ __volatile__("isb");
memory asm clobber is not const/pure
volatile is not const/pure
scanning: sys_m7_cache_init ();
scanning: return;
Function is locally looping.
Function can locally free.
local analysis of Sys_GetCoreID
scanning: _1 ={v} MEM[(struct MSCM_Type *)1076232192B].CPXNUM;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _2 = (unsigned char) _1;
scanning: _4 = _2 & 3;
scanning: return _4;
local analysis of default_interrupt_routine
;; 2 loops found
;;
;; Loop 0
;; header 0, latch 1
;; depth 0, outer -1
;; nodes: 0 1 2 3 4
;;
;; Loop 1
;; header 3, latch 4
;; depth 1, outer 0
;; nodes: 3 4
;; 2 succs { 3 }
;; 3 succs { 4 }
;; 4 succs { 3 }
cannot prove finiteness of loop 1
Function is locally looping.
Function is locally const.
local analysis of startup_go_to_user_mode
scanning: return;
Function is locally const.
callgraph:
sys_m7_cache_init/7 (sys_m7_cache_init) @069be700
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @065c5268
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) @069bee00
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c5168
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) @069beb60
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c4f28
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
Aux: @065c4f48
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
Aux: @065c4f68
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced for nothrow
sys_m7_cache_init/7 (sys_m7_cache_init) @069be700
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @065c5268
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) @069bee00
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c5168
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) @069beb60
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c4f28
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
Aux: @065c4f48
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
Aux: @065c4f68
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
MALLOC LATTICE Initial:
sys_m7_cache_init: malloc_bottom
SystemInit: malloc_bottom
Sys_GetCoreID: malloc_bottom
default_interrupt_routine: malloc_bottom
startup_go_to_user_mode: malloc_bottom
MALLOC LATTICE after propagation:
sys_m7_cache_init: malloc_bottom
SystemInit: malloc_bottom
Sys_GetCoreID: malloc_bottom
default_interrupt_routine: malloc_bottom
startup_go_to_user_mode: malloc_bottom
callgraph:
sys_m7_cache_init/7 (sys_m7_cache_init) @069be700
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @065c4fe8
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) @069bee00
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c5168
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) @069beb60
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c4fc8
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
Aux: @065c50a8
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
Aux: @065c4ee8
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced
SystemInit/6 (SystemInit) @069bee00
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c5168
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_m7_cache_init/7 (sys_m7_cache_init) @069be700
Type: function definition analyzed
Visibility: prevailing_def_ironly
Aux: @065c4fe8
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:
Sys_GetCoreID/5 (Sys_GetCoreID) @069beb60
Type: function definition analyzed
Visibility: externally_visible public
Aux: @065c4fc8
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
Aux: @065c50a8
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
Aux: @065c4ee8
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Function found not to call free: startup_go_to_user_mode
Function found not to call free: default_interrupt_routine
Function found not to call free: Sys_GetCoreID
sys_m7_cache_init ()
{
uint32 ways;
uint32 sets;
uint32 ccsidr;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
<bb 2> [local count: 12992276]:
# 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_18 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCSIDR;
# DEBUG ccsidr => ccsidr_18
# DEBUG BEGIN_STMT
_1 = ccsidr_18 >> 13;
sets_19 = _1 & 32767;
# DEBUG sets => sets_19
<bb 3> [local count: 118111600]:
# sets_11 = PHI <sets_19(2), sets_24(7)>
# DEBUG sets => sets_11
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_2 = ccsidr_18 >> 3;
ways_20 = _2 & 1023;
# DEBUG ways => ways_20
<bb 4> [local count: 1073741824]:
# ways_12 = PHI <ways_20(3), ways_23(8)>
# DEBUG ways => ways_12
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_3 = sets_11 << 5;
_4 = _3 & 16352;
_5 = ways_12 << 30;
_6 = _4 | _5;
MEM[(struct S32_SCB_Type *)3758153728B].DCISW ={v} _6;
# DEBUG BEGIN_STMT
__asm__ __volatile__("dsb");
# DEBUG BEGIN_STMT
ways_23 = ways_12 + 4294967295;
# DEBUG ways => ways_23
if (ways_12 != 0)
goto <bb 8>; [89.00%]
else
goto <bb 5>; [11.00%]
<bb 8> [local count: 955630224]:
goto <bb 4>; [100.00%]
<bb 5> [local count: 118111601]:
# DEBUG BEGIN_STMT
sets_24 = sets_11 + 4294967295;
# DEBUG sets => sets_24
if (sets_11 != 0)
goto <bb 7>; [89.00%]
else
goto <bb 6>; [11.00%]
<bb 7> [local count: 105119325]:
goto <bb 3>; [100.00%]
<bb 6> [local count: 12992276]:
# DEBUG BEGIN_STMT
__asm__ __volatile__("dsb");
# DEBUG BEGIN_STMT
_7 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
_8 = _7 | 65536;
MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _8;
# 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
_9 ={v} MEM[(struct S32_SCB_Type *)3758153728B].CCR;
_10 = _9 | 131072;
MEM[(struct S32_SCB_Type *)3758153728B].CCR ={v} _10;
# DEBUG BEGIN_STMT
__asm__ __volatile__("dsb");
# DEBUG BEGIN_STMT
__asm__ __volatile__("isb");
return;
}
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;
<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
sys_m7_cache_init ();
return;
}
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;
}
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%]
}
startup_go_to_user_mode ()
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}