IPA function summary for MCL_FLEXIO_ISR/2 inlinable global time: 12.000000 self size: 4 global size: 4 min size: 2 self stack: 0 global stack: 0 size:0.000000, time:0.000000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Flexio_Mcl_Ip_CommonIrq/1 function not considered for inlining loop depth: 0 freq:1.00 size: 1 time: 10callee size:17 stack: 0 IPA function summary for Flexio_Mcl_Ip_CommonIrq/1 inlinable global time: 72.500000 self size: 35 global size: 35 min size: 30 self stack: 0 global stack: 0 size:17.000000, time:10.500000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Flexio_Mcl_Ip_GetAllPinsInterrupt/8 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllPinsStatus/7 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllTimerInterrupt/6 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllTimerStatus/5 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllShifterErrorStatus/4 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flattening functions: Overall time estimate: 84.500000 weighted by profile: 0.000000 Deciding on inlining of small functions. Starting with size 0. Enqueueing calls in MCL_FLEXIO_ISR/2. Enqueueing calls in Flexio_Mcl_Ip_CommonIrq/1. Considering Flexio_Mcl_Ip_CommonIrq/1 with 35 size to be inlined into MCL_FLEXIO_ISR/2 in ../RTD/src/Flexio_Mcl_Ip_Irq.c:590 Estimated badness is -0.044240, frequency 1.00. Reclaiming functions: Reclaiming variables: Clearing address taken flags: Deciding on functions to be inlined into all callers and removing useless speculations: Overall time estimate: 72.500000 weighted by profile: 0.000000 Why inlining failed? function body not available : 5 calls, 5.000000 freq, 0 count IPA function summary for MCL_FLEXIO_ISR/2 inlinable global time: 72.500000 self size: 4 global size: 35 min size: 32 self stack: 0 global stack: 0 size:17.000000, time:10.500000 size:3.000000, time:2.000000, executed if:(not inlined) calls: Flexio_Mcl_Ip_CommonIrq/1 inlined loop depth: 0 freq:1.00 size: 1 time: 10callee size:17 stack: 0 Stack frame offset 0, callee self size 0, callee size 0 Flexio_Mcl_Ip_GetAllPinsInterrupt/8 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllPinsStatus/7 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllTimerInterrupt/6 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllTimerStatus/5 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Flexio_Mcl_Ip_GetAllShifterErrorStatus/4 function body not available loop depth: 0 freq:1.00 size: 3 time: 12 Symbol table: Flexio_Ip_IpIsInitialized/9 (Flexio_Ip_IpIsInitialized) @069c7ee8 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Flexio_Mcl_Ip_CommonIrq/1 (read) Availability: not_available Varpool flags: Flexio_Mcl_Ip_GetAllPinsInterrupt/8 (Flexio_Mcl_Ip_GetAllPinsInterrupt) @069c4ee0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Flexio_Mcl_Ip_CommonIrq/1 (1073741824 (estimated locally),1.00 per call) Calls: Flexio_Mcl_Ip_GetAllPinsStatus/7 (Flexio_Mcl_Ip_GetAllPinsStatus) @069c4e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Flexio_Mcl_Ip_CommonIrq/1 (1073741824 (estimated locally),1.00 per call) Calls: Flexio_Mcl_Ip_GetAllTimerInterrupt/6 (Flexio_Mcl_Ip_GetAllTimerInterrupt) @069c4d20 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Flexio_Mcl_Ip_CommonIrq/1 (1073741824 (estimated locally),1.00 per call) Calls: Flexio_Mcl_Ip_GetAllTimerStatus/5 (Flexio_Mcl_Ip_GetAllTimerStatus) @069c4c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Flexio_Mcl_Ip_CommonIrq/1 (1073741824 (estimated locally),1.00 per call) Calls: Flexio_Mcl_Ip_GetAllShifterErrorStatus/4 (Flexio_Mcl_Ip_GetAllShifterErrorStatus) @069c4b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: Flexio_Mcl_Ip_CommonIrq/1 (1073741824 (estimated locally),1.00 per call) Calls: flexioBase/3 (flexioBase) @069c7d38 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: Flexio_Mcl_Ip_CommonIrq/1 (read) Availability: not_available Varpool flags: read-only MCL_FLEXIO_ISR/2 (MCL_FLEXIO_ISR) @069c4620 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body optimize_size Called by: Calls: Flexio_Mcl_Ip_CommonIrq/1 (inlined) (1073741824 (estimated locally),1.00 per call) Flexio_Mcl_Ip_CommonIrq/1 (Flexio_Mcl_Ip_CommonIrq) @069c4380 Type: function definition analyzed Visibility: prevailing_def_ironly References: flexioBase/3 (read)Flexio_Ip_IpIsInitialized/9 (read) Referring: Function Flexio_Mcl_Ip_CommonIrq/1 is inline copy in MCL_FLEXIO_ISR/2 Availability: local Function flags: count:1073741824 (estimated locally) body local optimize_size Called by: MCL_FLEXIO_ISR/2 (inlined) (1073741824 (estimated locally),1.00 per call) Calls: Flexio_Mcl_Ip_GetAllPinsInterrupt/8 (1073741824 (estimated locally),1.00 per call) Flexio_Mcl_Ip_GetAllPinsStatus/7 (1073741824 (estimated locally),1.00 per call) Flexio_Mcl_Ip_GetAllTimerInterrupt/6 (1073741824 (estimated locally),1.00 per call) Flexio_Mcl_Ip_GetAllTimerStatus/5 (1073741824 (estimated locally),1.00 per call) Flexio_Mcl_Ip_GetAllShifterErrorStatus/4 (1073741824 (estimated locally),1.00 per call) ;; Function MCL_FLEXIO_ISR (MCL_FLEXIO_ISR, funcdef_no=2, decl_uid=4479, cgraph_uid=3, symbol_order=2) Symbols to be put in SSA form { D.4517 } Incremental SSA update started at block: 0 Number of blocks in CFG: 8 Number of blocks to update: 7 ( 88%) Merging blocks 2 and 4 Merging blocks 7 and 3 ;; 1 loops found ;; ;; Loop 0 ;; header 0, latch 1 ;; depth 0, outer -1 ;; nodes: 0 1 2 3 4 5 ;; 2 succs { 3 4 } ;; 3 succs { 5 } ;; 4 succs { 5 } ;; 5 succs { 1 } MCL_FLEXIO_ISR () { struct FLEXIO_Type * baseAddr; uint8 u8TimerMaskFlag; uint8 u8TimerEnabledIrq; uint32 u32PinMaskFlag; uint32 u32PinEnabledIrq; long unsigned int _4; long unsigned int _5; long unsigned int _7; _Bool _11; long unsigned int _12; unsigned char _13; long unsigned int _14; long unsigned int _15; long unsigned int _16; long unsigned int _17; long unsigned int _18; long unsigned int _19; long unsigned int _20; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG INLINE_ENTRY Flexio_Mcl_Ip_CommonIrq # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT baseAddr_3 = flexioBase[0]; # DEBUG baseAddr => baseAddr_3 # DEBUG BEGIN_STMT _4 = Flexio_Mcl_Ip_GetAllShifterErrorStatus (baseAddr_3); # DEBUG u8ShifterErrMaskFlag => (uint8) _4 # DEBUG BEGIN_STMT _5 = Flexio_Mcl_Ip_GetAllTimerStatus (baseAddr_3); u8TimerMaskFlag_6 = (uint8) _5; # DEBUG u8TimerMaskFlag => u8TimerMaskFlag_6 # DEBUG BEGIN_STMT _7 = Flexio_Mcl_Ip_GetAllTimerInterrupt (baseAddr_3); u8TimerEnabledIrq_8 = (uint8) _7; # DEBUG u8TimerEnabledIrq => u8TimerEnabledIrq_8 # DEBUG BEGIN_STMT u32PinMaskFlag_9 = Flexio_Mcl_Ip_GetAllPinsStatus (baseAddr_3); # DEBUG u32PinMaskFlag => u32PinMaskFlag_9 # DEBUG BEGIN_STMT u32PinEnabledIrq_10 = Flexio_Mcl_Ip_GetAllPinsInterrupt (baseAddr_3); # DEBUG u32PinEnabledIrq => u32PinEnabledIrq_10 # DEBUG BEGIN_STMT _11 = Flexio_Ip_IpIsInitialized[0]; if (_11 != 0) goto ; [50.00%] else goto ; [50.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _12 ={v} baseAddr_3->TIMSTAT; _13 = u8TimerMaskFlag_6 & u8TimerEnabledIrq_8; _14 = (long unsigned int) _13; _15 = _12 | _14; baseAddr_3->TIMSTAT ={v} _15; # DEBUG BEGIN_STMT _16 ={v} baseAddr_3->PINSTAT; _17 = u32PinMaskFlag_9 & u32PinEnabledIrq_10; _18 = _16 | _17; baseAddr_3->PINSTAT ={v} _18; goto ; [100.00%] [local count: 536870913]: # DEBUG BEGIN_STMT _19 = _4 & 255; baseAddr_3->SHIFTERR ={v} _19; # DEBUG BEGIN_STMT _20 = _5 & 255; baseAddr_3->TIMSTAT ={v} _20; # DEBUG BEGIN_STMT baseAddr_3->PINSTAT ={v} u32PinMaskFlag_9; [local count: 1073741824]: # DEBUG u32PinEnabledIrq => NULL # DEBUG u32PinMaskFlag => NULL # DEBUG u8TimerEnabledIrq => NULL # DEBUG u8TimerMaskFlag => NULL # DEBUG baseAddr => NULL return; }