IPA function summary for WIPER_CMD/0 inlinable global time: 6.951852 self size: 15 global size: 15 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) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, executed if:(op0 != 0), nonconst if:(op0 changed) && (op0 != 0) size:2.000000, time:0.660000, executed if:(op0 != 1) && (op0 != 0), nonconst if:(op0 changed) && (op0 != 1) && (op0 != 0) size:2.000000, time:0.435600, executed if:(op0 != 2) && (op0 != 1) && (op0 != 0), nonconst if:(op0 changed) && (op0 != 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.074052, executed if:(op0 == 3) && (op0 != 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.112200, executed if:(op0 == 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.170000, executed if:(op0 == 1) && (op0 != 0) size:1.000000, time:0.500000, executed if:(op0 == 0) calls: Flattening functions: Overall time estimate: 6.951852 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in WIPER_CMD/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: 6.951852 weighted by profile: 0.000000 Why inlining failed? IPA function summary for WIPER_CMD/0 inlinable global time: 6.951852 self size: 15 global size: 15 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) size:2.000000, time:2.000000, nonconst if:(op0 changed) size:2.000000, time:1.000000, executed if:(op0 != 0), nonconst if:(op0 changed) && (op0 != 0) size:2.000000, time:0.660000, executed if:(op0 != 1) && (op0 != 0), nonconst if:(op0 changed) && (op0 != 1) && (op0 != 0) size:2.000000, time:0.435600, executed if:(op0 != 2) && (op0 != 1) && (op0 != 0), nonconst if:(op0 changed) && (op0 != 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.074052, executed if:(op0 == 3) && (op0 != 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.112200, executed if:(op0 == 2) && (op0 != 1) && (op0 != 0) size:1.000000, time:0.170000, executed if:(op0 == 1) && (op0 != 0) size:1.000000, time:0.500000, executed if:(op0 == 0) calls: Symbol table: GV_WIPER_CMD/1 (GV_WIPER_CMD) @06b85750 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: WIPER_CMD/0 (write)WIPER_CMD/0 (write)WIPER_CMD/0 (write)WIPER_CMD/0 (write) Availability: not_available Varpool flags: WIPER_CMD/0 (WIPER_CMD) @06b880e0 Type: function definition analyzed Visibility: externally_visible public References: GV_WIPER_CMD/1 (write)GV_WIPER_CMD/1 (write)GV_WIPER_CMD/1 (write)GV_WIPER_CMD/1 (write) Referring: Availability: available Function flags: count:1073741823 (estimated locally) body optimize_size Called by: Calls: ;; Function WIPER_CMD (WIPER_CMD, funcdef_no=0, decl_uid=7215, cgraph_uid=1, symbol_order=0) WIPER_CMD (int x) { [local count: 1073741823]: # DEBUG BEGIN_STMT if (x_2(D) == 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870911]: # DEBUG BEGIN_STMT GV_WIPER_CMD = 0; goto ; [100.00%] [local count: 536870911]: # DEBUG BEGIN_STMT if (x_2(D) == 1) goto ; [34.00%] else goto ; [66.00%] [local count: 182536110]: # DEBUG BEGIN_STMT GV_WIPER_CMD = 1; goto ; [100.00%] [local count: 354334802]: # DEBUG BEGIN_STMT if (x_2(D) == 2) goto ; [34.00%] else goto ; [66.00%] [local count: 120473832]: # DEBUG BEGIN_STMT GV_WIPER_CMD = 2; goto ; [100.00%] [local count: 233860969]: # DEBUG BEGIN_STMT if (x_2(D) == 3) goto ; [34.00%] else goto ; [66.00%] [local count: 79512729]: # DEBUG BEGIN_STMT GV_WIPER_CMD = 3; [local count: 1073741824]: return; }