IPA function summary for PWM_for_dirve_mode/0 inlinable global time: 32.533600 self size: 33 global size: 33 min size: 36 self stack: 0 global stack: 0 size:12.000000, time:6.533600 size:3.000000, time:2.000000, executed if:(not inlined) calls: Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.49 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.49 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Flattening functions: Overall time estimate: 32.533600 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in PWM_for_dirve_mode/0. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 32.533600 weighted by profile: 0.000000 Why inlining failed? function body not available : 6 calls, 2.000000 freq, 0 count IPA function summary for PWM_for_dirve_mode/0 inlinable global time: 32.533600 self size: 33 global size: 33 min size: 36 self stack: 0 global stack: 0 size:12.000000, time:6.533600 size:3.000000, time:2.000000, executed if:(not inlined) calls: Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.49 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.49 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.26 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Symbol table: GV_PWM_2/4 (GV_PWM_2) @06b953f0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: PWM_for_dirve_mode/0 (write)PWM_for_dirve_mode/0 (write)PWM_for_dirve_mode/0 (write) Availability: not_available Varpool flags: Set_PWM_Duty/3 (Set_PWM_Duty) @06b922a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: PWM_for_dirve_mode/0 (524845004 (estimated locally),0.49 per call) PWM_for_dirve_mode/0 (524845004 (estimated locally),0.49 per call) PWM_for_dirve_mode/0 (274448410 (estimated locally),0.26 per call) PWM_for_dirve_mode/0 (274448410 (estimated locally),0.26 per call) PWM_for_dirve_mode/0 (274448410 (estimated locally),0.26 per call) PWM_for_dirve_mode/0 (274448410 (estimated locally),0.26 per call) Calls: GV_PWM_1/2 (GV_PWM_1) @06b95318 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: PWM_for_dirve_mode/0 (read)PWM_for_dirve_mode/0 (write)PWM_for_dirve_mode/0 (write)PWM_for_dirve_mode/0 (write) Availability: not_available Varpool flags: GV_Operation_Mode/1 (GV_Operation_Mode) @06b952d0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: PWM_for_dirve_mode/0 (read) Availability: not_available Varpool flags: PWM_for_dirve_mode/0 (PWM_for_dirve_mode) @06b8bb60 Type: function definition analyzed Visibility: externally_visible public References: GV_Operation_Mode/1 (read)GV_PWM_1/2 (read)GV_PWM_1/2 (write)GV_PWM_2/4 (write)GV_PWM_1/2 (write)GV_PWM_2/4 (write)GV_PWM_2/4 (write)GV_PWM_1/2 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: Set_PWM_Duty/3 (524845004 (estimated locally),0.49 per call) Set_PWM_Duty/3 (524845004 (estimated locally),0.49 per call) Set_PWM_Duty/3 (274448410 (estimated locally),0.26 per call) Set_PWM_Duty/3 (274448410 (estimated locally),0.26 per call) Set_PWM_Duty/3 (274448410 (estimated locally),0.26 per call) Set_PWM_Duty/3 (274448410 (estimated locally),0.26 per call) ;; Function PWM_for_dirve_mode (PWM_for_dirve_mode, funcdef_no=0, decl_uid=5248, cgraph_uid=1, symbol_order=0) PWM_for_dirve_mode () { unsigned char GV_Operation_Mode.0_1; unsigned char GV_PWM_1.1_2; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_Operation_Mode.0_1 = GV_Operation_Mode; if (GV_Operation_Mode.0_1 == 1) goto ; [51.12%] else goto ; [48.88%] [local count: 548896821]: # DEBUG BEGIN_STMT GV_PWM_1.1_2 = GV_PWM_1; if (GV_PWM_1.1_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 274448410]: # DEBUG BEGIN_STMT Set_PWM_Duty (0, 1.0e+2); # DEBUG BEGIN_STMT Set_PWM_Duty (1, 0.0); # DEBUG BEGIN_STMT GV_PWM_1 = 1; # DEBUG BEGIN_STMT GV_PWM_2 = 0; goto ; [100.00%] [local count: 274448410]: # DEBUG BEGIN_STMT Set_PWM_Duty (0, 0.0); # DEBUG BEGIN_STMT Set_PWM_Duty (1, 0.0); # DEBUG BEGIN_STMT GV_PWM_1 = 0; # DEBUG BEGIN_STMT GV_PWM_2 = 0; goto ; [100.00%] [local count: 524845004]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT Set_PWM_Duty (1, 0.0); # DEBUG BEGIN_STMT Set_PWM_Duty (0, 0.0); # DEBUG BEGIN_STMT GV_PWM_2 = 0; # DEBUG BEGIN_STMT GV_PWM_1 = 0; [local count: 1073741824]: return; }