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 ;; 2 succs { 3 6 } ;; 3 succs { 4 5 } ;; 4 succs { 7 } ;; 5 succs { 7 } ;; 6 succs { 7 } ;; 7 succs { 1 } Analyzing function body size: PWM_for_dirve_mode IPA function summary for PWM_for_dirve_mode/0 inlinable global time: 32.533600 self size: 33 global size: 0 min size: 0 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) @05eb9f30 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) @05ec12a0 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) @05eb9e58 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) @05eb9e10 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) @05ebab60 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) 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; }