Analyzing function: PWM_for_dirve_mode/0 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 ;; 2 succs { 3 6 } ;; 3 succs { 4 5 } ;; 4 succs { 11 } ;; 5 succs { 11 } ;; 6 succs { 7 10 } ;; 7 succs { 8 9 } ;; 8 succs { 11 } ;; 9 succs { 11 } ;; 10 succs { 11 } ;; 11 succs { 1 } Analyzing function body size: PWM_for_dirve_mode IPA function summary for PWM_for_dirve_mode/0 inlinable global time: 34.666600 self size: 54 global size: 0 min size: 0 self stack: 0 global stack: 0 size:21.000000, time:8.666600 size:3.000000, time:2.000000, executed if:(not inlined) calls: Set_PWM_Duty/3 function body not available loop depth: 0 freq:0.22 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.22 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.22 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.22 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.22 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.22 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.17 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.17 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.17 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.17 size: 3 time: 12 op0 is compile time invariant op1 is compile time invariant Symbol table: GV_PWM_2/4 (GV_PWM_2) @06b14a68 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 (read)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) @06b17460 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: PWM_for_dirve_mode/0 (233860969 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (233860969 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (237404317 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (237404317 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (237404317 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (237404317 (estimated locally),0.22 per call) PWM_for_dirve_mode/0 (182536110 (estimated locally),0.17 per call) PWM_for_dirve_mode/0 (182536110 (estimated locally),0.17 per call) PWM_for_dirve_mode/0 (182536110 (estimated locally),0.17 per call) PWM_for_dirve_mode/0 (182536110 (estimated locally),0.17 per call) Calls: GV_PWM_1/2 (GV_PWM_1) @06b14990 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)PWM_for_dirve_mode/0 (write)PWM_for_dirve_mode/0 (write) Availability: not_available Varpool flags: GV_Operation_Mode/1 (GV_Operation_Mode) @06b14948 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) @06b17000 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 (read)GV_PWM_2/4 (write)GV_PWM_1/2 (write)GV_PWM_2/4 (write)GV_PWM_1/2 (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 (233860969 (estimated locally),0.22 per call) Set_PWM_Duty/3 (233860969 (estimated locally),0.22 per call) Set_PWM_Duty/3 (237404317 (estimated locally),0.22 per call) Set_PWM_Duty/3 (237404317 (estimated locally),0.22 per call) Set_PWM_Duty/3 (237404317 (estimated locally),0.22 per call) Set_PWM_Duty/3 (237404317 (estimated locally),0.22 per call) Set_PWM_Duty/3 (182536110 (estimated locally),0.17 per call) Set_PWM_Duty/3 (182536110 (estimated locally),0.17 per call) Set_PWM_Duty/3 (182536110 (estimated locally),0.17 per call) Set_PWM_Duty/3 (182536110 (estimated locally),0.17 per call) PWM_for_dirve_mode () { unsigned char GV_Operation_Mode.0_1; unsigned char GV_PWM_1.1_2; unsigned char GV_PWM_2.3_3; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_Operation_Mode.0_1 = GV_Operation_Mode; if (GV_Operation_Mode.0_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # 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: 182536110]: # 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: 182536110]: # 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: 708669605]: # DEBUG BEGIN_STMT if (GV_Operation_Mode.0_1 == 0) goto ; [67.00%] else goto ; [33.00%] [local count: 474808635]: # DEBUG BEGIN_STMT GV_PWM_2.3_3 = GV_PWM_2; if (GV_PWM_2.3_3 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 237404317]: # DEBUG BEGIN_STMT Set_PWM_Duty (1, 1.0e+2); # DEBUG BEGIN_STMT Set_PWM_Duty (0, 0.0); # DEBUG BEGIN_STMT GV_PWM_2 = 1; # DEBUG BEGIN_STMT GV_PWM_1 = 0; goto ; [100.00%] [local count: 237404317]: # 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; goto ; [100.00%] [local count: 233860969]: # 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; }