IPA constant propagation start: Determining dynamic type for call: debug_printf ("\n\r\n"); Starting walk at: debug_printf ("\n\r\n"); instance pointer: "\n\r\n" Outer instance pointer: "\n\r\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf ("================================================\r\n"); Starting walk at: debug_printf ("================================================\r\n"); instance pointer: "================================================\r\n" Outer instance pointer: "================================================\r\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" MR S32K344 APPLICATION\n"); Starting walk at: debug_printf (" MR S32K344 APPLICATION\n"); instance pointer: " MR S32K344 APPLICATION\n" Outer instance pointer: " MR S32K344 APPLICATION\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" Version 0.1\n"); Starting walk at: debug_printf (" Version 0.1\n"); instance pointer: " Version 0.1\n" Outer instance pointer: " Version 0.1\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" Author : sihong89@gmail.com\n"); Starting walk at: debug_printf (" Author : sihong89@gmail.com\n"); instance pointer: " Author : sihong89@gmail.com\n" Outer instance pointer: " Author : sihong89@gmail.com\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); Starting walk at: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); instance pointer: " Last compiled : %s %s\n" Outer instance pointer: " Last compiled : %s %s\n" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); Starting walk at: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); instance pointer: "Oct 16 2021" Outer instance pointer: "Oct 16 2021" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); Starting walk at: debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); instance pointer: "14:16:57" Outer instance pointer: "14:16:57" offset: 0 (bits) vtbl reference: Determining dynamic type for call: debug_printf ("================================================\r\n"); Starting walk at: debug_printf ("================================================\r\n"); instance pointer: "================================================\r\n" Outer instance pointer: "================================================\r\n" offset: 0 (bits) vtbl reference: IPA structures before propagation: Jump functions: Jump functions of caller strlen/38: Jump functions of caller __builtin_va_end/37: Jump functions of caller vsprintf/36: Jump functions of caller __builtin_va_start/35: Jump functions of caller Lpuart_Uart_Ip_SyncSend/34: Jump functions of caller debug_printf/32: callsite debug_printf/32 -> uart_putc/31 : param 0: UNKNOWN value: 0x0, mask: 0xff Unknown VR Jump functions of caller uart_putc/31: Jump functions of caller Gvar_init/30: Jump functions of caller PrintLogo/29: callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: "================================================\r\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: " Last compiled : %s %s\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] param 1: CONST: "Oct 16 2021" value: 0x0, mask: 0xffffffff VR ~[0, 0] param 2: CONST: "14:16:57" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: " Author : sihong89@gmail.com\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: " Version 0.1\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: " MR S32K344 APPLICATION\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: "================================================\r\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] callsite PrintLogo/29 -> debug_printf/32 : param 0: CONST: "\n\r\n" value: 0x0, mask: 0xffffffff VR ~[0, 0] Propagating constants: Not considering debug_printf for cloning; -fipa-cp-clone disabled. Not considering uart_putc for cloning; -fipa-cp-clone disabled. Not considering Gvar_init for cloning; -fipa-cp-clone disabled. Not considering PrintLogo for cloning; -fipa-cp-clone disabled. overall_size: 50, max_new_size: 11001 IPA lattices after all propagation: Lattices: Node: debug_printf/32: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: uart_putc/31: param [0]: BOTTOM ctxs: BOTTOM Bits unusable (BOTTOM) VARYING AGGS BOTTOM Node: Gvar_init/30: Node: PrintLogo/29: IPA decision stage: IPA constant propagation end Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: strlen/38 (strlen) @08711540 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: debug_printf/32 (118111600 (estimated locally),1.00 per call) Calls: __builtin_va_end/37 (__builtin_va_end) @087112a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: debug_printf/32 (118111600 (estimated locally),1.00 per call) Calls: vsprintf/36 (vsprintf) @08711000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: debug_printf/32 (118111600 (estimated locally),1.00 per call) Calls: __builtin_va_start/35 (__builtin_va_start) @08711ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: debug_printf/32 (118111600 (estimated locally),1.00 per call) Calls: Lpuart_Uart_Ip_SyncSend/34 (Lpuart_Uart_Ip_SyncSend) @08711d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: uart_putc/31 (1073741824 (estimated locally),1.00 per call) Calls: gb/33 (gb) @087150d8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Gvar_init/30 (write)Gvar_init/30 (write) Availability: not_available Varpool flags: debug_printf/32 (debug_printf) @08711700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:118111600 (estimated locally) body optimize_size Called by: PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) PrintLogo/29 (1073741824 (estimated locally),1.00 per call) Calls: uart_putc/31 (955630223 (estimated locally),8.09 per call) strlen/38 (118111600 (estimated locally),1.00 per call) __builtin_va_end/37 (118111600 (estimated locally),1.00 per call) vsprintf/36 (118111600 (estimated locally),1.00 per call) __builtin_va_start/35 (118111600 (estimated locally),1.00 per call) uart_putc/31 (uart_putc) @08711460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: debug_printf/32 (955630223 (estimated locally),8.09 per call) Calls: Lpuart_Uart_Ip_SyncSend/34 (1073741824 (estimated locally),1.00 per call) Gvar_init/30 (Gvar_init) @087111c0 Type: function definition analyzed Visibility: externally_visible public References: gb/33 (write)gb/33 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: PrintLogo/29 (PrintLogo) @0870fee0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) debug_printf/32 (1073741824 (estimated locally),1.00 per call) ;; Function Gvar_init (Gvar_init, funcdef_no=30, decl_uid=9210, cgraph_uid=31, symbol_order=30) Modification phase of node Gvar_init/30 Gvar_init () { [local count: 1073741824]: # DEBUG BEGIN_STMT gb.ubuf_head = 0; # DEBUG BEGIN_STMT gb.ubuf_tail = 0; return; } ;; Function uart_putc (uart_putc, funcdef_no=31, decl_uid=9212, cgraph_uid=32, symbol_order=31) Modification phase of node uart_putc/31 uart_putc (char ch) { [local count: 1073741824]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_SyncSend (0, &ch, 1); return; } ;; Function debug_printf (debug_printf, funcdef_no=32, decl_uid=9214, cgraph_uid=33, symbol_order=32) Modification phase of node debug_printf/32 debug_printf (char * msg) { u8 len; u8 i; struct va_list argptr; char str[256]; unsigned int _1; int _2; char _3; [local count: 118111600]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __builtin_va_start (&argptr, 0); # DEBUG BEGIN_STMT vsprintf (&str, msg_8(D), argptr); # DEBUG BEGIN_STMT __builtin_va_end (&argptr); # DEBUG BEGIN_STMT _1 = strlen (&str); len_11 = (u8) _1; # DEBUG len => len_11 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 955630223]: # DEBUG BEGIN_STMT _2 = (int) i_4; _3 = str[_2]; uart_putc (_3); # DEBUG BEGIN_STMT i_15 = i_4 + 1; # DEBUG i => i_15 [local count: 1073741824]: # i_4 = PHI <0(2), i_15(3)> # DEBUG i => i_4 # DEBUG BEGIN_STMT if (i_4 < len_11) goto ; [89.00%] else goto ; [11.00%] [local count: 118111601]: str ={v} {CLOBBER}; argptr ={v} {CLOBBER}; return; } ;; Function PrintLogo (PrintLogo, funcdef_no=29, decl_uid=9216, cgraph_uid=30, symbol_order=29) Modification phase of node PrintLogo/29 PrintLogo () { [local count: 1073741824]: # DEBUG BEGIN_STMT debug_printf ("\n\r\n"); # DEBUG BEGIN_STMT debug_printf ("================================================\r\n"); # DEBUG BEGIN_STMT debug_printf (" MR S32K344 APPLICATION\n"); # DEBUG BEGIN_STMT debug_printf (" Version 0.1\n"); # DEBUG BEGIN_STMT debug_printf (" Author : sihong89@gmail.com\n"); # DEBUG BEGIN_STMT debug_printf (" Last compiled : %s %s\n", "Oct 16 2021", "14:16:57"); # DEBUG BEGIN_STMT debug_printf ("================================================\r\n"); return; }