IPA function summary for NVIC_SetPriority/3 inlinable global time: 4.000000 self size: 5 global size: 5 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) array index:(op0 changed) calls: IPA function summary for NVIC_DisableIRQ/2 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:3.000000, time:3.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for NVIC_EnableIRQ/1 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:3.000000, time:3.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for NVIC_SetPriorityGrouping/0 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Flattening functions: Overall time estimate: 22.000000 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in NVIC_SetPriority/3. Enqueueing calls in NVIC_DisableIRQ/2. Enqueueing calls in NVIC_EnableIRQ/1. Enqueueing calls in NVIC_SetPriorityGrouping/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: 22.000000 weighted by profile: 0.000000 Why inlining failed? IPA function summary for NVIC_SetPriority/3 inlinable global time: 4.000000 self size: 5 global size: 5 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:1.000000, time:1.000000, nonconst if:(op1 changed) array index:(op0 changed) calls: IPA function summary for NVIC_DisableIRQ/2 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:3.000000, time:3.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for NVIC_EnableIRQ/1 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:1.000000, time:1.000000 size:3.000000, time:2.000000, executed if:(not inlined) size:3.000000, time:3.000000, nonconst if:(op0 changed) array index:(op0 changed) calls: IPA function summary for NVIC_SetPriorityGrouping/0 inlinable global time: 6.000000 self size: 7 global size: 7 min size: 0 self stack: 0 global stack: 0 size:4.000000, time:4.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Symbol table: NVIC_SetPriority/3 (NVIC_SetPriority) @06177620 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: NVIC_DisableIRQ/2 (NVIC_DisableIRQ) @06177d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: NVIC_EnableIRQ/1 (NVIC_EnableIRQ) @06177a80 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: NVIC_SetPriorityGrouping/0 (NVIC_SetPriorityGrouping) @061777e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: ;; Function NVIC_SetPriorityGrouping (NVIC_SetPriorityGrouping, funcdef_no=0, decl_uid=6181, cgraph_uid=1, symbol_order=0) NVIC_SetPriorityGrouping (uint32 PriorityGroup) { long unsigned int _1; long unsigned int _2; long unsigned int _3; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 ={v} MEM[(struct S32_SCB_Type *)3758153728B].AIRCR; _2 = _1 & 4294965503; _3 = _2 | PriorityGroup_5(D); MEM[(struct S32_SCB_Type *)3758153728B].AIRCR ={v} _3; return; } ;; Function NVIC_EnableIRQ (NVIC_EnableIRQ, funcdef_no=1, decl_uid=6183, cgraph_uid=2, symbol_order=1) NVIC_EnableIRQ (uint8 IRQn) { long unsigned int _1; unsigned char _2; unsigned char _3; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 = IRQn_6(D) & 31; _1 = (long unsigned int) _2; _3 = IRQn_6(D) >> 5; _4 = (long unsigned int) _3; _5 = 1 << _1; MEM[(struct S32_NVIC_Type *)3758153984B].ISER[_4] ={v} _5; return; } ;; Function NVIC_DisableIRQ (NVIC_DisableIRQ, funcdef_no=2, decl_uid=6185, cgraph_uid=3, symbol_order=2) NVIC_DisableIRQ (uint8 IRQn) { long unsigned int _1; unsigned char _2; unsigned char _3; long unsigned int _4; long unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT _2 = IRQn_6(D) & 31; _1 = (long unsigned int) _2; _3 = IRQn_6(D) >> 5; _4 = (long unsigned int) _3; _5 = 1 << _1; MEM[(struct S32_NVIC_Type *)3758153984B].ICER[_4] ={v} _5; return; } ;; Function NVIC_SetPriority (NVIC_SetPriority, funcdef_no=3, decl_uid=6188, cgraph_uid=4, symbol_order=3) NVIC_SetPriority (uint8 IRQn, uint8 priority) { long unsigned int _1; long unsigned int _2; long unsigned int _3; unsigned char _4; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG shift => 4 # DEBUG BEGIN_STMT _1 = (long unsigned int) priority_5(D); _2 = _1 << 4; _3 = (long unsigned int) IRQn_6(D); _4 = (unsigned char) _2; MEM[(struct S32_NVIC_Type *)3758153984B].IP[_3] ={v} _4; return; }