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

596 lines
15 KiB
C++

IPA constant propagation start:
Determining dynamic type for call: OutStr (&str);
Starting walk at: OutStr (&str);
instance pointer: &str Outer instance pointer: str offset: 0 (bits) vtbl reference:
Function call may change dynamic type:vsprintf (&str, msg_3(D), argptr);
Function call may change dynamic type:__builtin_va_start (&argptr, 0);
IPA structures before propagation:
Jump functions:
Jump functions of caller __builtin_va_end/40:
Jump functions of caller vsprintf/39:
Jump functions of caller __builtin_va_start/38:
Jump functions of caller Lpuart_Uart_Ip_SyncSend/37:
Jump functions of caller programDword_data_flash/36:
Jump functions of caller string_to_int/35:
Jump functions of caller put_charp/34:
callsite put_charp/34 -> OutDev0/30 :
param 0: CONST: 44
value: 0x2c, mask: 0x0
Unknown VR
callsite put_charp/34 -> OutDev0/30 :
param 0: UNKNOWN
value: 0x0, mask: 0xff
Unknown VR
callsite put_charp/34 -> D2C/29 :
param 0: PASS THROUGH: 0, op bit_and_expr 15
value: 0x0, mask: 0xf
VR [0, 15]
callsite put_charp/34 -> OutDev0/30 :
param 0: UNKNOWN
value: 0x0, mask: 0xff
Unknown VR
callsite put_charp/34 -> D2C/29 :
param 0: PASS THROUGH: 0, op rshift_expr 4
value: 0x0, mask: 0xf
VR [0, 15]
Jump functions of caller put_cr/33:
callsite put_cr/33 -> OutDev0/30 :
param 0: CONST: 10
value: 0xa, mask: 0x0
Unknown VR
callsite put_cr/33 -> OutDev0/30 :
param 0: CONST: 13
value: 0xd, mask: 0x0
Unknown VR
Jump functions of caller monprintf/32:
callsite monprintf/32 -> OutStr/31 :
param 0: UNKNOWN
Aggregate passed by reference:
offset: 2024, cst: 0
offset: 2032, cst: 0
value: 0x0, mask: 0xfffffffc
VR ~[0, 0]
Jump functions of caller OutStr/31:
callsite OutStr/31 -> OutDev0/30 :
param 0: UNKNOWN
value: 0x0, mask: 0xff
Unknown VR
Jump functions of caller OutDev0/30:
Jump functions of caller D2C/29:
Jump functions of caller delayN/28:
Propagating constants:
Not considering programDword_data_flash for cloning; -fipa-cp-clone disabled.
Not considering string_to_int for cloning; -fipa-cp-clone disabled.
Not considering put_charp for cloning; -fipa-cp-clone disabled.
Not considering put_cr for cloning; -fipa-cp-clone disabled.
Not considering monprintf for cloning; -fipa-cp-clone disabled.
Not considering OutStr for cloning; -fipa-cp-clone disabled.
Not considering OutDev0 for cloning; -fipa-cp-clone disabled.
Not considering D2C for cloning; -fipa-cp-clone disabled.
Not considering delayN for cloning; -fipa-cp-clone disabled.
overall_size: 94, max_new_size: 11001
- context independent values, size: 3, time_benefit: 2.000000
- context independent values, size: 3, time_benefit: 1.000000
IPA lattices after all propagation:
Lattices:
Node: programDword_data_flash/36:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
param [1]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: string_to_int/35:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: put_charp/34:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: put_cr/33:
Node: monprintf/32:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: OutStr/31:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: OutDev0/30:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: D2C/29:
param [0]: BOTTOM
ctxs: BOTTOM
Bits unusable (BOTTOM)
VARYING
AGGS BOTTOM
Node: delayN/28:
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:
__builtin_va_end/40 (__builtin_va_end) @06d591c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: monprintf/32 (1073741824 (estimated locally),1.00 per call)
Calls:
vsprintf/39 (vsprintf) @06d590e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: monprintf/32 (1073741824 (estimated locally),1.00 per call)
Calls:
__builtin_va_start/38 (__builtin_va_start) @06d59000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: monprintf/32 (1073741824 (estimated locally),1.00 per call)
Calls:
Lpuart_Uart_Ip_SyncSend/37 (Lpuart_Uart_Ip_SyncSend) @06bd5d20
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: OutDev0/30 (1073741824 (estimated locally),1.00 per call)
Calls:
programDword_data_flash/36 (programDword_data_flash) @06bd5700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
string_to_int/35 (string_to_int) @06bd5460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:118207164 (estimated locally) body optimize_size
Called by:
Calls:
put_charp/34 (put_charp) @06bd51c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: OutDev0/30 (1073741824 (estimated locally),1.00 per call) OutDev0/30 (1073741824 (estimated locally),1.00 per call) D2C/29 (1073741824 (estimated locally),1.00 per call) OutDev0/30 (1073741824 (estimated locally),1.00 per call) D2C/29 (1073741824 (estimated locally),1.00 per call)
put_cr/33 (put_cr) @06bd1ee0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: OutDev0/30 (1073741824 (estimated locally),1.00 per call) OutDev0/30 (1073741824 (estimated locally),1.00 per call)
monprintf/32 (monprintf) @06bd1700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: OutStr/31 (1073741824 (estimated locally),1.00 per call) __builtin_va_end/40 (1073741824 (estimated locally),1.00 per call) vsprintf/39 (1073741824 (estimated locally),1.00 per call) __builtin_va_start/38 (1073741824 (estimated locally),1.00 per call)
OutStr/31 (OutStr) @06bd1e00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:118111600 (estimated locally) body optimize_size
Called by: monprintf/32 (1073741824 (estimated locally),1.00 per call)
Calls: OutDev0/30 (955630223 (estimated locally),8.09 per call)
OutDev0/30 (OutDev0) @06bd1b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: put_charp/34 (1073741824 (estimated locally),1.00 per call) put_charp/34 (1073741824 (estimated locally),1.00 per call) put_charp/34 (1073741824 (estimated locally),1.00 per call) put_cr/33 (1073741824 (estimated locally),1.00 per call) put_cr/33 (1073741824 (estimated locally),1.00 per call) OutStr/31 (955630223 (estimated locally),8.09 per call)
Calls: Lpuart_Uart_Ip_SyncSend/37 (1073741824 (estimated locally),1.00 per call)
D2C/29 (D2C) @06bd18c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: put_charp/34 (1073741824 (estimated locally),1.00 per call) put_charp/34 (1073741824 (estimated locally),1.00 per call)
Calls:
delayN/28 (delayN) @06bd1620
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
;; Function delayN (delayN, funcdef_no=28, decl_uid=5896, cgraph_uid=29, symbol_order=28)
Modification phase of node delayN/28
delayN (uint32_t n)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG n => NULL
# DEBUG BEGIN_STMT
return;
}
;; Function D2C (D2C, funcdef_no=29, decl_uid=5898, cgraph_uid=30, symbol_order=29)
Modification phase of node D2C/29
D2C (uint8_t c)
{
uint8_t _1;
uint8_t _3;
uint8_t _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (c_2(D) <= 9)
goto <bb 3>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 3> [local count: 365072220]:
# DEBUG BEGIN_STMT
_4 = c_2(D) + 48;
goto <bb 5>; [100.00%]
<bb 4> [local count: 708669605]:
# DEBUG BEGIN_STMT
_3 = c_2(D) + 55;
<bb 5> [local count: 1073741824]:
# _1 = PHI <_4(3), _3(4)>
return _1;
}
;; Function OutDev0 (OutDev0, funcdef_no=30, decl_uid=5900, cgraph_uid=31, symbol_order=30)
Modification phase of node OutDev0/30
OutDev0 (char c)
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_SyncSend (0, &c, 1);
return;
}
;; Function OutStr (OutStr, funcdef_no=31, decl_uid=5902, cgraph_uid=32, symbol_order=31)
Modification phase of node OutStr/31
OutStr (const char * text)
{
char _1;
<bb 2> [local count: 118111600]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 955630223]:
# DEBUG BEGIN_STMT
text_6 = text_2 + 1;
# DEBUG text => text_6
OutDev0 (_1);
<bb 4> [local count: 1073741824]:
# text_2 = PHI <text_4(D)(2), text_6(3)>
# DEBUG text => text_2
# DEBUG BEGIN_STMT
_1 = *text_2;
if (_1 != 0)
goto <bb 3>; [89.00%]
else
goto <bb 5>; [11.00%]
<bb 5> [local count: 118111601]:
return;
}
;; Function monprintf (monprintf, funcdef_no=32, decl_uid=5904, cgraph_uid=33, symbol_order=32)
Modification phase of node monprintf/32
monprintf (char * msg)
{
struct va_list argptr;
char str[256];
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
__builtin_va_start (&argptr, 0);
# DEBUG BEGIN_STMT
vsprintf (&str, msg_3(D), argptr);
# DEBUG BEGIN_STMT
__builtin_va_end (&argptr);
# DEBUG BEGIN_STMT
str[253] = 0;
# DEBUG BEGIN_STMT
str[254] = 0;
# DEBUG BEGIN_STMT
OutStr (&str);
str ={v} {CLOBBER};
argptr ={v} {CLOBBER};
return;
}
;; Function put_cr (put_cr, funcdef_no=33, decl_uid=6619, cgraph_uid=34, symbol_order=33)
Modification phase of node put_cr/33
put_cr ()
{
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
OutDev0 (13);
# DEBUG BEGIN_STMT
OutDev0 (10);
return;
}
;; Function put_charp (put_charp, funcdef_no=34, decl_uid=6622, cgraph_uid=35, symbol_order=34)
Modification phase of node put_charp/34
put_charp (unsigned char a)
{
unsigned char i;
unsigned char _1;
unsigned char _2;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
i_4 = a_3(D) >> 4;
# DEBUG i => i_4
# DEBUG BEGIN_STMT
# DEBUG i => i_4
# DEBUG BEGIN_STMT
_1 = D2C (i_4);
OutDev0 (_1);
# DEBUG BEGIN_STMT
i_7 = a_3(D) & 15;
# DEBUG i => i_7
# DEBUG BEGIN_STMT
_2 = D2C (i_7);
OutDev0 (_2);
# DEBUG BEGIN_STMT
OutDev0 (44);
return;
}
;; Function string_to_int (string_to_int, funcdef_no=35, decl_uid=6626, cgraph_uid=36, symbol_order=35)
Modification phase of node string_to_int/35
string_to_int (uint8_t * buf)
{
uint32_t n;
uint32_t p;
uint32_t k;
uint32_t j;
uint32_t i;
uint8_t * _1;
unsigned char _2;
int _3;
int _5;
long unsigned int _6;
unsigned char _15;
<bb 2> [local count: 118207164]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG p => 0
# DEBUG BEGIN_STMT
# DEBUG n => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 12>; [100.00%]
<bb 3> [local count: 955630225]:
# DEBUG BEGIN_STMT
# DEBUG k => 0
# DEBUG BEGIN_STMT
_1 = buf_17(D) + n_14;
_2 = *_1;
_3 = (int) _2;
switch (_2) <default: <L17> [33.33%], case 48 ... 57: <L1> [33.33%], case 65 ... 70: <L11> [33.33%]>
<bb 4> [local count: 318511554]:
<L1>:
# DEBUG BEGIN_STMT
_15 = _2 & 15;
k_20 = (uint32_t) _15;
# DEBUG k => k_20
# DEBUG BEGIN_STMT
p_21 = p_13 + 1;
# DEBUG p => p_21
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 5> [local count: 318511554]:
<L11>:
# DEBUG BEGIN_STMT
_5 = _3 + -55;
k_18 = (uint32_t) _5;
# DEBUG k => k_18
# DEBUG BEGIN_STMT
p_19 = p_13 + 1;
# DEBUG p => p_19
# DEBUG BEGIN_STMT
goto <bb 9>; [100.00%]
<bb 6> [local count: 318511554]:
<L17>:
# DEBUG BEGIN_STMT
if (j_10 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 159255777]:
if (p_13 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 238883666]:
# DEBUG BEGIN_STMT
# DEBUG i => 8
<bb 9> [local count: 955534663]:
# i_7 = PHI <i_8(4), i_8(5), 8(8), i_8(7)>
# k_11 = PHI <k_20(4), k_18(5), 0(8), 0(7)>
# p_12 = PHI <p_21(4), p_19(5), p_13(8), p_13(7)>
# DEBUG p => p_12
# DEBUG k => k_11
# DEBUG i => i_7
# DEBUG BEGIN_STMT
if (i_7 != 8)
goto <bb 10>; [66.00%]
else
goto <bb 11>; [34.00%]
<bb 10> [local count: 630652877]:
# DEBUG BEGIN_STMT
_6 = j_10 << 4;
j_22 = _6 + k_11;
# DEBUG j => j_22
<bb 11> [local count: 955534663]:
# j_9 = PHI <j_10(9), j_22(10)>
# DEBUG j => j_9
# DEBUG BEGIN_STMT
n_23 = n_14 + 1;
# DEBUG n => n_23
# DEBUG BEGIN_STMT
i_24 = i_7 + 1;
# DEBUG i => i_24
<bb 12> [local count: 1073741824]:
# i_8 = PHI <0(2), i_24(11)>
# j_10 = PHI <0(2), j_9(11)>
# p_13 = PHI <0(2), p_12(11)>
# n_14 = PHI <0(2), n_23(11)>
# DEBUG n => n_14
# DEBUG p => p_13
# DEBUG j => j_10
# DEBUG i => i_8
# DEBUG BEGIN_STMT
if (i_8 <= 7)
goto <bb 3>; [89.00%]
else
goto <bb 13>; [11.00%]
<bb 13> [local count: 118111601]:
# j_4 = PHI <j_10(12)>
# DEBUG BEGIN_STMT
return j_4;
}
;; Function programDword_data_flash (programDword_data_flash, funcdef_no=36, decl_uid=6656, cgraph_uid=37, symbol_order=36)
Modification phase of node programDword_data_flash/36
programDword_data_flash (uint32_t address, uint32_t * data)
{
uint16_t ret;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG size => 8
# DEBUG BEGIN_STMT
return ret_1(D);
}