mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 18:03:59 +09:00
188 lines
5.0 KiB
Plaintext
188 lines
5.0 KiB
Plaintext
|
|
Analyzing function: Flexio_Pwm_Ip_IrqHandler/21
|
|
;; 1 loops found
|
|
;;
|
|
;; Loop 0
|
|
;; header 0, latch 1
|
|
;; depth 0, outer -1
|
|
;; nodes: 0 1 2 3 4 5 6 7 8
|
|
;; 2 succs { 3 4 }
|
|
;; 3 succs { 4 }
|
|
;; 4 succs { 5 8 }
|
|
;; 5 succs { 6 7 }
|
|
;; 6 succs { 8 }
|
|
;; 7 succs { 8 }
|
|
;; 8 succs { 1 }
|
|
|
|
Analyzing function body size: Flexio_Pwm_Ip_IrqHandler
|
|
|
|
IPA function summary for Flexio_Pwm_Ip_IrqHandler/21 inlinable
|
|
global time: 42.000000
|
|
self size: 46
|
|
global size: 0
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:28.000000, time:23.000000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
array index:(op0 changed)
|
|
calls:
|
|
indirect call loop depth: 0 freq:0.25 size: 5 time: 17
|
|
indirect call loop depth: 0 freq:0.25 size: 5 time: 17
|
|
indirect call loop depth: 0 freq:0.50 size: 5 time: 17
|
|
|
|
Symbol table:
|
|
|
|
pinIrqMask/25 (pinIrqMask) @06921438
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Flexio_Pwm_Ip_IrqHandler/21 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
timerIrqMask/24 (timerIrqMask) @06921360
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Flexio_Pwm_Ip_IrqHandler/21 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
Flexio_Pwm_Ip_aState/23 (Flexio_Pwm_Ip_aState) @069212d0
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Flexio_Pwm_Ip_IrqHandler/21 (read)Flexio_Pwm_Ip_IrqHandler/21 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
Flexio_Pwm_Ip_aBasePtr/22 (Flexio_Pwm_Ip_aBasePtr) @06921288
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Flexio_Pwm_Ip_IrqHandler/21 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
Flexio_Pwm_Ip_IrqHandler/21 (Flexio_Pwm_Ip_IrqHandler) @0691b2a0
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References: Flexio_Pwm_Ip_aBasePtr/22 (read)Flexio_Pwm_Ip_aState/23 (read)timerIrqMask/24 (read)pinIrqMask/25 (read)Flexio_Pwm_Ip_aState/23 (read)
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Indirect call(268435456 (estimated locally),0.25 per call)
|
|
Indirect call(268435456 (estimated locally),0.25 per call)
|
|
Indirect call(536870913 (estimated locally),0.50 per call)
|
|
Flexio_Pwm_Ip_IrqHandler (uint8 channelId, uint8 timerFlags, uint32 pinFlags)
|
|
{
|
|
struct Flexio_Pwm_Ip_HwAddrType * _1;
|
|
int _2;
|
|
const struct Flexio_Pwm_Ip_ChannelConfigType * _3;
|
|
unsigned char _4;
|
|
unsigned char timerIrqMask.0_5;
|
|
unsigned char _6;
|
|
unsigned int _7;
|
|
unsigned char _8;
|
|
int _9;
|
|
unsigned int _10;
|
|
unsigned int _11;
|
|
void (*<T2cc>) (Flexio_Pwm_Ip_OccurredIRQType, void *) _12;
|
|
void * _13;
|
|
long unsigned int pinIrqMask.1_14;
|
|
long unsigned int _15;
|
|
const struct Flexio_Pwm_Ip_ChannelConfigType * _16;
|
|
unsigned char _17;
|
|
int _18;
|
|
unsigned int _19;
|
|
long unsigned int _20;
|
|
void (*<T2cc>) (Flexio_Pwm_Ip_OccurredIRQType, void *) _21;
|
|
void * _22;
|
|
void (*<T2cc>) (Flexio_Pwm_Ip_OccurredIRQType, void *) _23;
|
|
void * _24;
|
|
long unsigned int _34;
|
|
int _35;
|
|
long unsigned int _36;
|
|
_Bool _37;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = Flexio_Pwm_Ip_aBasePtr[0];
|
|
_2 = (int) channelId_28(D);
|
|
_3 = Flexio_Pwm_Ip_aState[_2];
|
|
_4 = _3->pinId;
|
|
# DEBUG base => _1
|
|
# DEBUG pin => _4
|
|
# DEBUG INLINE_ENTRY Flexio_Pwm_Ip_GetPinState
|
|
# DEBUG BEGIN_STMT
|
|
_34 ={v} MEM[(const struct Flexio_Pwm_Ip_HwAddrType *)_1].PIN;
|
|
_35 = (int) _4;
|
|
_36 = _34 >> _35;
|
|
_37 = (_Bool) _36;
|
|
# DEBUG base => NULL
|
|
# DEBUG pin => NULL
|
|
# DEBUG pinState => _37
|
|
# DEBUG BEGIN_STMT
|
|
timerIrqMask.0_5 ={v} timerIrqMask;
|
|
_6 = timerIrqMask.0_5 & timerFlags_29(D);
|
|
_7 = (unsigned int) _6;
|
|
_8 = _3->timerId;
|
|
_9 = (int) _8;
|
|
_10 = _7 >> _9;
|
|
_11 = _10 & 1;
|
|
if (_11 != 0)
|
|
goto <bb 3>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 3> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
_12 = _3->callback.cbFunction;
|
|
_13 = _3->callback.cbParameter;
|
|
_12 (0, _13);
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
pinIrqMask.1_14 ={v} pinIrqMask;
|
|
_15 = pinIrqMask.1_14 & pinFlags_31(D);
|
|
_16 = Flexio_Pwm_Ip_aState[_2];
|
|
_17 = _16->pinId;
|
|
_18 = (int) _17;
|
|
_19 = 1 << _18;
|
|
_20 = _15 & _19;
|
|
if (_20 != 0)
|
|
goto <bb 5>; [50.00%]
|
|
else
|
|
goto <bb 8>; [50.00%]
|
|
|
|
<bb 5> [local count: 536870913]:
|
|
# DEBUG BEGIN_STMT
|
|
if (_37 != 0)
|
|
goto <bb 6>; [50.00%]
|
|
else
|
|
goto <bb 7>; [50.00%]
|
|
|
|
<bb 6> [local count: 268435456]:
|
|
# DEBUG BEGIN_STMT
|
|
_21 = _16->callback.cbFunction;
|
|
_22 = _16->callback.cbParameter;
|
|
_21 (2, _22);
|
|
goto <bb 8>; [100.00%]
|
|
|
|
<bb 7> [local count: 268435456]:
|
|
# DEBUG BEGIN_STMT
|
|
_23 = _16->callback.cbFunction;
|
|
_24 = _16->callback.cbParameter;
|
|
_23 (1, _24);
|
|
|
|
<bb 8> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
return;
|
|
|
|
}
|
|
|
|
|