ADM/GW/Debug_FLASH/RTD/src/Clock_Ip_DividerTrigger.c.077i.pure-const
3minbe f7e8a96a61 1.주행안전 시나리오 기반 로직 최신화
2.주행안전 시나리오 기반 VCU CAN 수정
3.주행안전 시나리오 기반 DBC 최신화
2025-07-16 17:20:17 +09:00

508 lines
18 KiB
Plaintext

local analysis of TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0
scanning: _2 = config_1(D)->name;
Indirect ref read is not const
scanning: ReportClockErrors (1, _2);
scanning: return;
Function is locally pure.
local analysis of TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat
scanning: _1 = config_14(D)->name;
Indirect ref read is not const
scanning: _2 = (int) _1;
scanning: _3 = clockFeatures[_2][0];
scanning: instance_15 = (uint32) _3;
scanning: _6 = clockFeatures[_2][2];
scanning: selectorIndex_16 = (uint32) _6;
scanning: _7 = config_14(D)->triggerType;
Indirect ref read is not const
scanning: if (_7 != 0)
scanning: _8 = cgm[instance_15][selectorIndex_16];
scanning: _8->MUX_DIV_TRIG ={v} 1;
Volatile stmt is not const/pure
Volatile indirect ref is not const/pure
scanning: ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
scanning: _9 ={v} _8->MUX_DIV_UPD_STAT;
Volatile stmt is not const/pure
Volatile indirect ref is not const/pure
scanning: DividerStatus_19 = _9 & 1;
scanning: TimeoutTicks.0_10 = TimeoutTicks;
scanning: TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_10);
scanning: if (DividerStatus_19 != 0)
scanning: if (TimeoutOccurred_21 != 0)
scanning: if (TimeoutOccurred_4 != 0)
scanning: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0 (config_14(D));
scanning: return;
local analysis of ConfigureCgmXDivTrigCtrlTctlHhenUpdStat
scanning: _1 = config_12(D)->name;
Indirect ref read is not const
scanning: _2 = (int) _1;
scanning: _3 = clockFeatures[_2][0];
scanning: instance_13 = (uint32) _3;
scanning: _4 = clockFeatures[_2][2];
scanning: selectorIndex_14 = (uint32) _4;
scanning: _5 = config_12(D)->triggerType;
Indirect ref read is not const
scanning: if (_5 != 0)
scanning: _6 = cgm[instance_13][selectorIndex_14];
scanning: _6->MUX_DIV_TRIG_CTRL ={v} 1;
Volatile stmt is not const/pure
Volatile indirect ref is not const/pure
scanning: _7 = cgm[instance_13][selectorIndex_14];
scanning: _8 ={v} _7->MUX_DIV_TRIG_CTRL;
Volatile stmt is not const/pure
Volatile indirect ref is not const/pure
scanning: _9 = _8 & 4294967294;
scanning: _7->MUX_DIV_TRIG_CTRL ={v} _9;
Volatile stmt is not const/pure
Volatile indirect ref is not const/pure
scanning: return;
local analysis of Callback_DividerTriggerEmpty
scanning: return;
Function is locally const.
callgraph:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0) @06fb88c0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
Aux: @064f4a10
References:
Referring:
Function TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 is inline copy in TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
Availability: local
Function flags: count:37904965 (estimated locally) first_run:1 body local split_part optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (inlined) (37904965 (estimated locally),0.11 per call)
Calls: ReportClockErrors/8 (37904965 (estimated locally),0.11 per call)
ReportClockErrors/8 (ReportClockErrors) @06fb2540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (37904965 (estimated locally),0.11 per call)
Calls:
ClockTimeoutExpired/7 (ClockTimeoutExpired) @06fb2460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (1073741824 (estimated locally),3.08 per call)
Calls:
ClockStartTimeout/6 (ClockStartTimeout) @06fb2380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (114863532 (estimated locally),0.33 per call)
Calls:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06f49ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c30
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:348071309 (estimated locally) body optimize_size
Called by:
Calls: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (inlined) (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/7 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/6 (114863532 (estimated locally),0.33 per call)
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06f49e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c70
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06f49b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4b30
References:
Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced for nothrow
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0) @06fb88c0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
Aux: @064f4a10
References:
Referring:
Function TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 is inline copy in TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
Availability: local
Function flags: count:37904965 (estimated locally) first_run:1 body local split_part optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (inlined) (37904965 (estimated locally),0.11 per call)
Calls: ReportClockErrors/8 (37904965 (estimated locally),0.11 per call)
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06f49ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c30
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:348071309 (estimated locally) body optimize_size
Called by:
Calls: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (inlined) (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/7 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/6 (114863532 (estimated locally),0.33 per call)
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06f49e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c70
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06f49b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4b30
References:
Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
MALLOC LATTICE Initial:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0: malloc_bottom
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat: malloc_bottom
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat: malloc_bottom
Callback_DividerTriggerEmpty: malloc_bottom
MALLOC LATTICE after propagation:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0: malloc_bottom
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat: malloc_bottom
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat: malloc_bottom
Callback_DividerTriggerEmpty: malloc_bottom
callgraph:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0) @06fb88c0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
Aux: @064f4b30
References:
Referring:
Function TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 is inline copy in TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
Availability: local
Function flags: count:37904965 (estimated locally) first_run:1 body local split_part optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (inlined) (37904965 (estimated locally),0.11 per call)
Calls: ReportClockErrors/8 (37904965 (estimated locally),0.11 per call)
ReportClockErrors/8 (ReportClockErrors) @06fb2540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (37904965 (estimated locally),0.11 per call)
Calls:
ClockTimeoutExpired/7 (ClockTimeoutExpired) @06fb2460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (1073741824 (estimated locally),3.08 per call)
Calls:
ClockStartTimeout/6 (ClockStartTimeout) @06fb2380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (114863532 (estimated locally),0.33 per call)
Calls:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06f49ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f49f0
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:348071309 (estimated locally) body optimize_size
Called by:
Calls: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (inlined) (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/7 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/6 (114863532 (estimated locally),0.33 per call)
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06f49e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4cf0
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06f49b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c70
References:
Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat) @06f49ee0
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f49f0
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:348071309 (estimated locally) body optimize_size
Called by:
Calls: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (inlined) (37904965 (estimated locally),0.11 per call) ClockTimeoutExpired/7 (1073741824 (estimated locally),3.08 per call) ClockStartTimeout/6 (114863532 (estimated locally),0.33 per call)
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 (TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0) @06fb88c0
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
Aux: @064f4b30
References:
Referring:
Function TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0/9 is inline copy in TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3
Availability: local
Function flags: count:37904965 (estimated locally) first_run:1 body local split_part optimize_size
Called by: TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat/3 (inlined) (37904965 (estimated locally),0.11 per call)
Calls: ReportClockErrors/8 (37904965 (estimated locally),0.11 per call)
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat/2 (ConfigureCgmXDivTrigCtrlTctlHhenUpdStat) @06f49e00
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4cf0
References: clockFeatures/4 (read)clockFeatures/4 (read)cgm/5 (read)cgm/5 (read)
Referring: dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Callback_DividerTriggerEmpty/1 (Callback_DividerTriggerEmpty) @06f49b60
Type: function definition analyzed
Visibility: prevailing_def_ironly
Address is taken.
Aux: @064f4c70
References:
Referring: dividerTriggerCallbacks/0 (addr)dividerTriggerCallbacks/0 (addr)
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
Function found not to call free: Callback_DividerTriggerEmpty
Function found not to call free: ConfigureCgmXDivTrigCtrlTctlHhenUpdStat
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0 (const struct Clock_Ip_DividerTriggerConfigType * config)
{
uint32 instance;
uint32 selectorIndex;
boolean TimeoutOccurred;
uint32 StartTime;
uint32 ElapsedTime;
uint32 TimeoutTicks;
uint32 DividerStatus;
<unnamed type> _2;
<bb 4> [local count: 1073741824]:
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_2 = config_1(D)->name;
ReportClockErrors (1, _2);
<bb 3> [local count: 1073741824]:
StartTime ={v} {CLOBBER};
ElapsedTime ={v} {CLOBBER};
TimeoutTicks ={v} {CLOBBER};
return;
}
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config)
{
uint32 DividerStatus;
uint32 TimeoutTicks;
uint32 ElapsedTime;
uint32 StartTime;
boolean TimeoutOccurred;
uint32 selectorIndex;
uint32 instance;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _6;
<unnamed type> _7;
volatile struct cgmMux_Type * _8;
long unsigned int _9;
long unsigned int TimeoutTicks.0_10;
<bb 2> [local count: 348071309]:
# DEBUG BEGIN_STMT
_1 = config_14(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_15 = (uint32) _3;
# DEBUG instance => instance_15
# DEBUG BEGIN_STMT
_6 = clockFeatures[_2][2];
selectorIndex_16 = (uint32) _6;
# DEBUG selectorIndex => selectorIndex_16
# DEBUG BEGIN_STMT
# DEBUG TimeoutOccurred => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_7 = config_14(D)->triggerType;
if (_7 != 0)
goto <bb 3>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
_8 = cgm[instance_15][selectorIndex_16];
_8->MUX_DIV_TRIG ={v} 1;
# DEBUG BEGIN_STMT
ClockStartTimeout (&StartTime, &ElapsedTime, &TimeoutTicks, 10000);
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_9 ={v} _8->MUX_DIV_UPD_STAT;
DividerStatus_19 = _9 & 1;
# DEBUG DividerStatus => DividerStatus_19
# DEBUG BEGIN_STMT
TimeoutTicks.0_10 = TimeoutTicks;
TimeoutOccurred_21 = ClockTimeoutExpired (&StartTime, &ElapsedTime, TimeoutTicks.0_10);
# DEBUG TimeoutOccurred => TimeoutOccurred_21
# DEBUG BEGIN_STMT
if (DividerStatus_19 != 0)
goto <bb 5>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 5> [local count: 1014686025]:
if (TimeoutOccurred_21 != 0)
goto <bb 6>; [5.50%]
else
goto <bb 9>; [94.50%]
<bb 9> [local count: 958878294]:
goto <bb 4>; [100.00%]
<bb 6> [local count: 114863532]:
# TimeoutOccurred_4 = PHI <TimeoutOccurred_21(4), TimeoutOccurred_21(5)>
# DEBUG BEGIN_STMT
if (TimeoutOccurred_4 != 0)
goto <bb 7>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 7> [local count: 37904965]:
TriggerUpdateCgmXDivTrigCtrlTctlHhenUpdStat.part.0 (config_14(D));
<bb 8> [local count: 348071309]:
StartTime ={v} {CLOBBER};
ElapsedTime ={v} {CLOBBER};
TimeoutTicks ={v} {CLOBBER};
return;
}
ConfigureCgmXDivTrigCtrlTctlHhenUpdStat (const struct Clock_Ip_DividerTriggerConfigType * config)
{
uint32 selectorIndex;
uint32 instance;
<unnamed type> _1;
int _2;
unsigned char _3;
unsigned char _4;
<unnamed type> _5;
volatile struct cgmMux_Type * _6;
volatile struct cgmMux_Type * _7;
long unsigned int _8;
long unsigned int _9;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = config_12(D)->name;
_2 = (int) _1;
_3 = clockFeatures[_2][0];
instance_13 = (uint32) _3;
# DEBUG instance => instance_13
# DEBUG BEGIN_STMT
_4 = clockFeatures[_2][2];
selectorIndex_14 = (uint32) _4;
# DEBUG selectorIndex => selectorIndex_14
# DEBUG BEGIN_STMT
_5 = config_12(D)->triggerType;
if (_5 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_6 = cgm[instance_13][selectorIndex_14];
_6->MUX_DIV_TRIG_CTRL ={v} 1;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
_7 = cgm[instance_13][selectorIndex_14];
_8 ={v} _7->MUX_DIV_TRIG_CTRL;
_9 = _8 & 4294967294;
_7->MUX_DIV_TRIG_CTRL ={v} _9;
<bb 5> [local count: 1073741824]:
return;
}
Callback_DividerTriggerEmpty (const struct Clock_Ip_DividerTriggerConfigType * config)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return;
}