IPA function summary for ACU_Motor_Logic/2 inlinable fp_expression global time: 8.330000 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:15.000000, time:6.330000 size:3.000000, time:2.000000, executed if:(not inlined) calls: IPA function summary for RC_Motor_Logic/1 inlinable fp_expression global time: 7.380000 self size: 19 global size: 19 min size: 0 self stack: 0 global stack: 0 size:16.000000, time:5.380000 size:3.000000, time:2.000000, executed if:(not inlined) calls: IPA function summary for Motor_init/0 inlinable global time: 20.844356 self size: 40 global size: 40 min size: 0 self stack: 0 global stack: 0 size:37.000000, time:18.844356 size:3.000000, time:2.000000, executed if:(not inlined) calls: Flattening functions: Overall time estimate: 36.554356 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in ACU_Motor_Logic/2. Enqueueing calls in RC_Motor_Logic/1. Enqueueing calls in Motor_init/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: 36.554356 weighted by profile: 0.000000 Why inlining failed? IPA function summary for ACU_Motor_Logic/2 inlinable fp_expression global time: 8.330000 self size: 18 global size: 18 min size: 0 self stack: 0 global stack: 0 size:15.000000, time:6.330000 size:3.000000, time:2.000000, executed if:(not inlined) calls: IPA function summary for RC_Motor_Logic/1 inlinable fp_expression global time: 7.380000 self size: 19 global size: 19 min size: 0 self stack: 0 global stack: 0 size:16.000000, time:5.380000 size:3.000000, time:2.000000, executed if:(not inlined) calls: IPA function summary for Motor_init/0 inlinable global time: 20.844356 self size: 40 global size: 40 min size: 0 self stack: 0 global stack: 0 size:37.000000, time:18.844356 size:3.000000, time:2.000000, executed if:(not inlined) calls: Symbol table: GV_ACU_Vx_Command/24 (GV_ACU_Vx_Command) @06bdda68 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: ACU_Motor_Logic/2 (read) Availability: not_available Varpool flags: GV_ACU_Drive_ACC_Cmd/23 (GV_ACU_Drive_ACC_Cmd) @06bdda20 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: ACU_Motor_Logic/2 (read) Availability: not_available Varpool flags: GV_VCU_ACU_long_Ctl_mode/22 (GV_VCU_ACU_long_Ctl_mode) @06bdd9d8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: ACU_Motor_Logic/2 (read) Availability: not_available Varpool flags: GV_RC_Vx_Command/21 (GV_RC_Vx_Command) @06bdd5e8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: RC_Motor_Logic/1 (read) Availability: not_available Varpool flags: GV_VCU_TrqCmd/20 (GV_VCU_TrqCmd) @06bdd5a0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: RC_Motor_Logic/1 (write)RC_Motor_Logic/1 (write)ACU_Motor_Logic/2 (write)ACU_Motor_Logic/2 (write) Availability: not_available Varpool flags: GV_RC_Drive_ACC_Cmd/19 (GV_RC_Drive_ACC_Cmd) @06bdd558 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: RC_Motor_Logic/1 (read) Availability: not_available Varpool flags: GV_VCU_RC_long_Ctl_mode/18 (GV_VCU_RC_long_Ctl_mode) @06bdd510 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: RC_Motor_Logic/1 (read) Availability: not_available Varpool flags: GV_VCU_Drive_Mode/17 (GV_VCU_Drive_Mode) @06bdd4c8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: RC_Motor_Logic/1 (read)ACU_Motor_Logic/2 (read) Availability: not_available Varpool flags: GV_VCU_NegTrqLimit/16 (GV_VCU_NegTrqLimit) @06bdd0d8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_PosTrqLimit/15 (GV_VCU_PosTrqLimit) @06bdd090 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_BMS_HVOn_STA/14 (GV_BMS_HVOn_STA) @06bdd048 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (read) Availability: not_available Varpool flags: GV_ACU_BMS_FltSta/13 (GV_ACU_BMS_FltSta) @06bdd000 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (read) Availability: not_available Varpool flags: GV_VCU_TorqueContol/12 (GV_VCU_TorqueContol) @06bb1f78 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_Ready/11 (GV_VCU_Ready) @06bb1f30 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_ControlMode/10 (GV_VCU_ControlMode) @06bb1ee8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_PwrEnable/9 (GV_VCU_PwrEnable) @06bb1ea0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_BmsHvSt/8 (GV_VCU_BmsHvSt) @06bb1e58 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (read)Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_BmsFlt/7 (GV_VCU_BmsFlt) @06bb1e10 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (read)Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_EPAM_Park_Request_to_EPC/6 (GV_VCU_EPAM_Park_Request_to_EPC) @06bb1dc8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_MtrDir/5 (GV_VCU_MtrDir) @06bb1d80 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_GearCmd/4 (GV_VCU_GearCmd) @06bb1d38 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write)Motor_init/0 (write) Availability: not_available Varpool flags: GV_VCU_GearSelStat/3 (GV_VCU_GearSelStat) @06bb1cf0 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Motor_init/0 (read) Availability: not_available Varpool flags: ACU_Motor_Logic/2 (ACU_Motor_Logic) @06bb4b60 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_Drive_Mode/17 (read)GV_VCU_ACU_long_Ctl_mode/22 (read)GV_ACU_Drive_ACC_Cmd/23 (read)GV_VCU_TrqCmd/20 (write)GV_ACU_Vx_Command/24 (read)GV_VCU_TrqCmd/20 (write) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: RC_Motor_Logic/1 (RC_Motor_Logic) @06bb48c0 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_Drive_Mode/17 (read)GV_VCU_RC_long_Ctl_mode/18 (read)GV_RC_Drive_ACC_Cmd/19 (read)GV_VCU_TrqCmd/20 (write)GV_RC_Vx_Command/21 (read)GV_VCU_TrqCmd/20 (write) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: Calls: Motor_init/0 (Motor_init) @06bb4620 Type: function definition analyzed Visibility: externally_visible public References: GV_VCU_GearSelStat/3 (read)GV_VCU_GearCmd/4 (write)GV_VCU_MtrDir/5 (write)GV_VCU_EPAM_Park_Request_to_EPC/6 (write)GV_VCU_GearCmd/4 (write)GV_VCU_MtrDir/5 (write)GV_VCU_EPAM_Park_Request_to_EPC/6 (write)GV_VCU_GearCmd/4 (write)GV_VCU_MtrDir/5 (write)GV_VCU_EPAM_Park_Request_to_EPC/6 (write)GV_VCU_GearCmd/4 (write)GV_VCU_MtrDir/5 (write)GV_VCU_EPAM_Park_Request_to_EPC/6 (write)GV_VCU_BmsFlt/7 (read)GV_VCU_BmsHvSt/8 (read)GV_VCU_PwrEnable/9 (write)GV_VCU_ControlMode/10 (write)GV_VCU_Ready/11 (write)GV_VCU_TorqueContol/12 (write)GV_ACU_BMS_FltSta/13 (read)GV_VCU_BmsFlt/7 (write)GV_BMS_HVOn_STA/14 (read)GV_VCU_BmsHvSt/8 (write)GV_VCU_PosTrqLimit/15 (write)GV_VCU_NegTrqLimit/16 (write) Referring: Availability: available Function flags: count:1073741821 (estimated locally) body optimize_size Called by: Calls: ;; Function Motor_init (Motor_init, funcdef_no=0, decl_uid=7238, cgraph_uid=1, symbol_order=0) Motor_init () { long unsigned int GV_VCU_GearSelStat.0_1; long unsigned int GV_VCU_BmsFlt.4_2; long unsigned int GV_VCU_BmsHvSt.5_3; long unsigned int GV_ACU_BMS_FltSta.6_4; unsigned char GV_BMS_HVOn_STA.7_5; long unsigned int _6; [local count: 1073741821]: # DEBUG BEGIN_STMT GV_VCU_GearSelStat.0_1 = GV_VCU_GearSelStat; if (GV_VCU_GearSelStat.0_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870910]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 7; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 0; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 1; goto ; [100.00%] [local count: 536870910]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536109]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 2; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 2; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; goto ; [100.00%] [local count: 354334801]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 120473832]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 3; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 0; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; goto ; [100.00%] [local count: 233860969]: # DEBUG BEGIN_STMT if (GV_VCU_GearSelStat.0_1 == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 79512729]: # DEBUG BEGIN_STMT GV_VCU_GearCmd = 4; # DEBUG BEGIN_STMT GV_VCU_MtrDir = 1; # DEBUG BEGIN_STMT GV_VCU_EPAM_Park_Request_to_EPC = 2; [local count: 1073741823]: # DEBUG BEGIN_STMT GV_VCU_BmsFlt.4_2 = GV_VCU_BmsFlt; if (GV_VCU_BmsFlt.4_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: GV_VCU_BmsHvSt.5_3 = GV_VCU_BmsHvSt; if (GV_VCU_BmsHvSt.5_3 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT GV_VCU_PwrEnable = 1; # DEBUG BEGIN_STMT GV_VCU_ControlMode = 1; # DEBUG BEGIN_STMT GV_VCU_Ready = 1; # DEBUG BEGIN_STMT GV_VCU_TorqueContol = 1; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_ACU_BMS_FltSta.6_4 = GV_ACU_BMS_FltSta; GV_VCU_BmsFlt = GV_ACU_BMS_FltSta.6_4; # DEBUG BEGIN_STMT GV_BMS_HVOn_STA.7_5 = GV_BMS_HVOn_STA; _6 = (long unsigned int) GV_BMS_HVOn_STA.7_5; GV_VCU_BmsHvSt = _6; # DEBUG BEGIN_STMT GV_VCU_PosTrqLimit = 5; # DEBUG BEGIN_STMT GV_VCU_NegTrqLimit = -5.0e+0; return; } ;; Function RC_Motor_Logic (RC_Motor_Logic, funcdef_no=1, decl_uid=7234, cgraph_uid=2, symbol_order=1) RC_Motor_Logic () { long unsigned int GV_VCU_Drive_Mode.8_1; long unsigned int GV_VCU_RC_long_Ctl_mode.9_2; long unsigned int GV_RC_Drive_ACC_Cmd.10_3; long unsigned int _4; float _5; long unsigned int GV_RC_Vx_Command.12_6; long unsigned int _7; float _8; [local count: 1073741823]: # DEBUG BEGIN_STMT GV_VCU_Drive_Mode.8_1 = GV_VCU_Drive_Mode; if (GV_VCU_Drive_Mode.8_1 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 365072220]: # DEBUG BEGIN_STMT GV_VCU_RC_long_Ctl_mode.9_2 = GV_VCU_RC_long_Ctl_mode; if (GV_VCU_RC_long_Ctl_mode.9_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 124124555]: # DEBUG BEGIN_STMT GV_RC_Drive_ACC_Cmd.10_3 = GV_RC_Drive_ACC_Cmd; _4 = GV_RC_Drive_ACC_Cmd.10_3 * 10; _5 = (float) _4; GV_VCU_TrqCmd = _5; goto ; [100.00%] [local count: 240947665]: # DEBUG BEGIN_STMT if (GV_VCU_RC_long_Ctl_mode.9_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 120473832]: # DEBUG BEGIN_STMT GV_RC_Vx_Command.12_6 = GV_RC_Vx_Command; _7 = GV_RC_Vx_Command.12_6 / 5; _8 = (float) _7; GV_VCU_TrqCmd = _8; [local count: 1073741824]: return; } ;; Function ACU_Motor_Logic (ACU_Motor_Logic, funcdef_no=2, decl_uid=7236, cgraph_uid=3, symbol_order=2) ACU_Motor_Logic () { long unsigned int GV_VCU_Drive_Mode.13_1; long unsigned int GV_VCU_ACU_long_Ctl_mode.14_2; float GV_ACU_Drive_ACC_Cmd.15_3; float _4; long unsigned int GV_ACU_Vx_Command.17_5; long unsigned int _6; float _7; [local count: 1073741824]: # DEBUG BEGIN_STMT GV_VCU_Drive_Mode.13_1 = GV_VCU_Drive_Mode; if (GV_VCU_Drive_Mode.13_1 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT GV_VCU_ACU_long_Ctl_mode.14_2 = GV_VCU_ACU_long_Ctl_mode; if (GV_VCU_ACU_long_Ctl_mode.14_2 == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT GV_ACU_Drive_ACC_Cmd.15_3 = GV_ACU_Drive_ACC_Cmd; _4 = GV_ACU_Drive_ACC_Cmd.15_3 * 1.0e+1; GV_VCU_TrqCmd = _4; goto ; [100.00%] [local count: 354334802]: # DEBUG BEGIN_STMT if (GV_VCU_ACU_long_Ctl_mode.14_2 == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 177167401]: # DEBUG BEGIN_STMT GV_ACU_Vx_Command.17_5 = GV_ACU_Vx_Command; _6 = GV_ACU_Vx_Command.17_5 / 5; _7 = (float) _6; GV_VCU_TrqCmd = _7; [local count: 1073741824]: return; }