Analyzing function: debug_printf/32 ;; 2 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; ;; Loop 1 ;; header 4, latch 3 ;; depth 1, outer 0 ;; nodes: 4 3 ;; 2 succs { 4 } ;; 3 succs { 4 } ;; 4 succs { 3 5 } ;; 5 succs { 1 } Analyzing function body size: debug_printf Analyzing param change probablity of argptr Param argptr changed at bb 2, minimal: 2 stmt: __builtin_va_start (&argptr, 0); Set in same BB as used. IPA function summary for debug_printf/32 global time: 162.363637 self size: 19 global size: 0 min size: 0 self stack: 260 global stack: 260 size:4.000000, time:34.363637 size:3.000000, time:2.000000, executed if:(not inlined) calls: uart_putc/31 function not considered for inlining loop depth: 1 freq:8.09 size: 2 time: 11 strlen/38 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant __builtin_va_end/37 function body not available loop depth: 0 freq:1.00 size: 0 time: 0 op0 is compile time invariant vsprintf/36 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op0 is compile time invariant __builtin_va_start/35 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Analyzing function: uart_putc/31 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: uart_putc IPA function summary for uart_putc/31 inlinable global time: 15.000000 self size: 7 global size: 0 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: Lpuart_Uart_Ip_SyncSend/34 function body not available loop depth: 0 freq:1.00 size: 4 time: 13 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant Analyzing function: Gvar_init/30 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: Gvar_init IPA function summary for Gvar_init/30 inlinable global time: 4.000000 self size: 5 global size: 0 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: Analyzing function: PrintLogo/29 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 ;; 2 succs { 1 } Analyzing function body size: PrintLogo IPA function summary for PrintLogo/29 inlinable global time: 81.000000 self size: 19 global size: 0 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: debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 4 time: 13callee size: 9 stack:260 op0 is compile time invariant op1 is compile time invariant op2 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant debug_printf/32 function not considered for inlining loop depth: 0 freq:1.00 size: 2 time: 11callee size: 9 stack:260 op0 is compile time invariant 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) 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; } uart_putc (char ch) { [local count: 1073741824]: # DEBUG BEGIN_STMT Lpuart_Uart_Ip_SyncSend (0, &ch, 1); return; } Gvar_init () { [local count: 1073741824]: # DEBUG BEGIN_STMT gb.ubuf_head = 0; # DEBUG BEGIN_STMT gb.ubuf_tail = 0; return; } 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; }