mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 09:53:59 +09:00
687 lines
19 KiB
Plaintext
687 lines
19 KiB
Plaintext
IPA function summary for Emios_Pwm_Ip_IrqHandler/42 inlinable
|
|
global time: 33.600000
|
|
self size: 19
|
|
global size: 19
|
|
min size: 14
|
|
self stack: 0
|
|
global stack: 0
|
|
size:9.000000, time:8.400000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
array index:(op1 changed) && (op0 changed)
|
|
calls:
|
|
Emios_Pwm_Ip_IrqDaocHandler/41 function not considered for inlining
|
|
loop depth: 0 freq:1.00 size: 3 time: 12callee size:34 stack: 0
|
|
indirect call loop depth: 0 freq:0.70 size: 4 time: 16
|
|
|
|
IPA function summary for Emios_Pwm_Ip_IrqDaocHandler/41 inlinable
|
|
global time: 65.599164
|
|
self size: 69
|
|
global size: 69
|
|
min size: 24
|
|
self stack: 0
|
|
global stack: 0
|
|
size:54.000000, time:31.244764
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
array index:(op1 changed) && (op0 changed)
|
|
calls:
|
|
Emios_Pwm_Ip_GetPwmMode/27 function not considered for inlining
|
|
loop depth: 0 freq:0.49 size: 4 time: 13callee size:15 stack: 0
|
|
Emios_Pwm_Ip_GetPwmMode/27 function not considered for inlining
|
|
loop depth: 0 freq:1.00 size: 4 time: 13callee size:15 stack: 0
|
|
Emios_Pwm_Ip_GetMasterBusChannel/45 function body not available
|
|
loop depth: 0 freq:1.00 size: 4 time: 13
|
|
|
|
IPA function summary for Emios_Pwm_Ip_GetPwmMode/27 inlinable
|
|
global time: 9.999400
|
|
self size: 31
|
|
global size: 31
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:27.500000, time:7.500000
|
|
size:3.500000, time:2.499400, executed if:(not inlined)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
|
|
Flattening functions:
|
|
Overall time estimate: 109.198564 weighted by profile: 0.000000
|
|
|
|
Deciding on inlining of small functions. Starting with size 0.
|
|
Enqueueing calls in Emios_Pwm_Ip_IrqHandler/42.
|
|
Enqueueing calls in Emios_Pwm_Ip_IrqDaocHandler/41.
|
|
Enqueueing calls in Emios_Pwm_Ip_GetPwmMode/27.
|
|
|
|
Considering Emios_Pwm_Ip_IrqDaocHandler/41 with 69 size
|
|
to be inlined into Emios_Pwm_Ip_IrqHandler/42 in ../RTD/src/Emios_Pwm_Ip_Irq.c:247
|
|
Estimated badness is -0.010840, 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: 95.198564 weighted by profile: 0.000000
|
|
|
|
Why inlining failed?
|
|
function body not available : 1 calls, 1.000000 freq, 0 count
|
|
call is unlikely and code size would grow : 2 calls, 1.488800 freq, 0 count
|
|
IPA function summary for Emios_Pwm_Ip_IrqHandler/42 inlinable
|
|
global time: 85.199164
|
|
self size: 19
|
|
global size: 82
|
|
min size: 46
|
|
self stack: 0
|
|
global stack: 0
|
|
size:63.000000, time:39.644764
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
array index:(op1 changed) && (op0 changed)
|
|
calls:
|
|
Emios_Pwm_Ip_IrqDaocHandler/41 inlined
|
|
loop depth: 0 freq:1.00 size: 3 time: 12callee size:34 stack: 0
|
|
Stack frame offset 0, callee self size 0, callee size 0
|
|
Emios_Pwm_Ip_GetPwmMode/27 call is unlikely and code size would grow
|
|
loop depth: 0 freq:0.49 size: 4 time: 13callee size:15 stack: 0
|
|
Emios_Pwm_Ip_GetPwmMode/27 call is unlikely and code size would grow
|
|
loop depth: 0 freq:1.00 size: 4 time: 13callee size:15 stack: 0
|
|
Emios_Pwm_Ip_GetMasterBusChannel/45 function body not available
|
|
loop depth: 0 freq:1.00 size: 4 time: 13
|
|
indirect call loop depth: 0 freq:0.70 size: 4 time: 16
|
|
|
|
IPA function summary for Emios_Pwm_Ip_GetPwmMode/27 inlinable
|
|
global time: 9.999400
|
|
self size: 31
|
|
global size: 31
|
|
min size: 28
|
|
self stack: 0
|
|
global stack: 0
|
|
estimated growth:17
|
|
size:27.500000, time:7.500000
|
|
size:3.500000, time:2.499400, executed if:(not inlined)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
Symbol table:
|
|
|
|
Emios_Pwm_Ip_aDaocDuty/47 (Emios_Pwm_Ip_aDaocDuty) @05ee40d8
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqDaocHandler/41 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
Emios_Pwm_Ip_aPeriod/46 (Emios_Pwm_Ip_aPeriod) @05ee4090
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqDaocHandler/41 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
Emios_Pwm_Ip_GetMasterBusChannel/45 (Emios_Pwm_Ip_GetMasterBusChannel) @05edb540
|
|
Type: function
|
|
Visibility: external public
|
|
References:
|
|
Referring:
|
|
Availability: not_available
|
|
Function flags: optimize_size
|
|
Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call)
|
|
Calls:
|
|
Emios_Pwm_Ip_aNotificationPtr/44 (Emios_Pwm_Ip_aNotificationPtr) @05ed84c8
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Emios_Pwm_Ip_IrqHandler/42 (read)
|
|
Availability: not_available
|
|
Varpool flags:
|
|
Emios_Pwm_Ip_aBasePtr/43 (Emios_Pwm_Ip_aBasePtr) @05ed83f0
|
|
Type: variable
|
|
Body removed by symtab_remove_unreachable_nodes
|
|
Visibility: external public
|
|
References:
|
|
Referring: Emios_Pwm_Ip_IrqDaocHandler/41 (read)Emios_Pwm_Ip_IrqHandler/42 (read)
|
|
Availability: not_available
|
|
Varpool flags: read-only
|
|
Emios_Pwm_Ip_IrqHandler/42 (Emios_Pwm_Ip_IrqHandler) @05d87c40
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aNotificationPtr/44 (read)
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: Emios_Pwm_Ip_IrqDaocHandler/41 (inlined) (1073741824 (estimated locally),1.00 per call)
|
|
Indirect call(751619278 (estimated locally),0.70 per call)
|
|
Emios_Pwm_Ip_IrqDaocHandler/41 (Emios_Pwm_Ip_IrqDaocHandler) @05d872a0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References: Emios_Pwm_Ip_aBasePtr/43 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)Emios_Pwm_Ip_aPeriod/46 (read)Emios_Pwm_Ip_aDaocDuty/47 (read)
|
|
Referring:
|
|
Function Emios_Pwm_Ip_IrqDaocHandler/41 is inline copy in Emios_Pwm_Ip_IrqHandler/42
|
|
Availability: local
|
|
Function flags: count:1073741824 (estimated locally) body local optimize_size
|
|
Called by: Emios_Pwm_Ip_IrqHandler/42 (inlined) (1073741824 (estimated locally),1.00 per call)
|
|
Calls: Emios_Pwm_Ip_GetPwmMode/27 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_GetPwmMode/27 (1073741824 (estimated locally),1.00 per call) Emios_Pwm_Ip_GetMasterBusChannel/45 (1073741824 (estimated locally),1.00 per call)
|
|
Emios_Pwm_Ip_GetPwmMode/27 (Emios_Pwm_Ip_GetPwmMode) @05d77380
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring:
|
|
Availability: local
|
|
Function flags: count:1073741824 (estimated locally) body local optimize_size
|
|
Called by: Emios_Pwm_Ip_IrqDaocHandler/41 (524845004 (estimated locally),0.49 per call) Emios_Pwm_Ip_IrqDaocHandler/41 (1073741824 (estimated locally),1.00 per call)
|
|
Calls:
|
|
|
|
;; Function Emios_Pwm_Ip_GetPwmMode (Emios_Pwm_Ip_GetPwmMode, funcdef_no=27, decl_uid=4592, cgraph_uid=28, symbol_order=27)
|
|
|
|
Emios_Pwm_Ip_GetPwmMode (const struct Emios_Pwm_Ip_HwAddrType * const base, uint8 channel)
|
|
{
|
|
Emios_Pwm_Ip_PwmModeType mode;
|
|
int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) channel_5(D);
|
|
_2 ={v} base_7(D)->CH.UC[_1].C;
|
|
_3 = _2 & 127;
|
|
switch (_3) <default: <L12> [7.69%], case 1: <L15> [7.69%], case 6: <L1> [7.69%], case 7: <L2> [7.69%], case 38: <L3> [7.69%], case 88: <L4> [7.69%], case 90: <L5> [7.69%], case 92: <L6> [7.69%], case 93: <L8> [7.69%], case 94: <L7> [7.69%], case 95: <L9> [7.69%], case 96: <L10> [7.69%], case 98: <L11> [7.69%]>
|
|
|
|
<bb 3> [local count: 82570746]:
|
|
<L1>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 6
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 4> [local count: 82570746]:
|
|
<L2>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 7
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 5> [local count: 82570746]:
|
|
<L3>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 38
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 6> [local count: 82570746]:
|
|
<L4>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 88
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 7> [local count: 82570746]:
|
|
<L5>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 90
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 8> [local count: 82570746]:
|
|
<L6>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 92
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 9> [local count: 82570746]:
|
|
<L7>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 94
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 10> [local count: 82570746]:
|
|
<L8>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 93
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 11> [local count: 82570746]:
|
|
<L9>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 95
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 12> [local count: 82570746]:
|
|
<L10>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 96
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 13> [local count: 82570746]:
|
|
<L11>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 98
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 15>; [100.00%]
|
|
|
|
<bb 14> [local count: 82570746]:
|
|
<L12>:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG mode => 255
|
|
# DEBUG BEGIN_STMT
|
|
|
|
<bb 15> [local count: 1073419702]:
|
|
# mode_4 = PHI <1(2), 6(3), 7(4), 38(5), 88(6), 90(7), 92(8), 94(9), 93(10), 95(11), 96(12), 98(13), 255(14)>
|
|
<L15>:
|
|
# DEBUG mode => mode_4
|
|
# DEBUG BEGIN_STMT
|
|
return mode_4;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Emios_Pwm_Ip_IrqHandler (Emios_Pwm_Ip_IrqHandler, funcdef_no=42, decl_uid=4676, cgraph_uid=43, symbol_order=42)
|
|
|
|
|
|
Symbols to be put in SSA form
|
|
{ D.4748 }
|
|
Incremental SSA update started at block: 0
|
|
Number of blocks in CFG: 24
|
|
Number of blocks to update: 23 ( 96%)
|
|
|
|
|
|
Merging blocks 2 and 6
|
|
Merging blocks 23 and 5
|
|
;; 1 loops found
|
|
;;
|
|
;; Loop 0
|
|
;; header 0, latch 1
|
|
;; depth 0, outer -1
|
|
;; nodes: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
|
;; 2 succs { 3 8 }
|
|
;; 3 succs { 5 4 }
|
|
;; 4 succs { 5 }
|
|
;; 5 succs { 7 6 }
|
|
;; 6 succs { 7 }
|
|
;; 7 succs { 19 }
|
|
;; 8 succs { 9 19 }
|
|
;; 9 succs { 10 11 }
|
|
;; 10 succs { 13 11 }
|
|
;; 11 succs { 12 16 }
|
|
;; 12 succs { 13 16 }
|
|
;; 13 succs { 15 14 }
|
|
;; 14 succs { 15 }
|
|
;; 15 succs { 19 }
|
|
;; 16 succs { 18 17 }
|
|
;; 17 succs { 18 }
|
|
;; 18 succs { 19 }
|
|
;; 19 succs { 20 21 }
|
|
;; 20 succs { 21 }
|
|
;; 21 succs { 1 }
|
|
Emios_Pwm_Ip_IrqHandler (uint8 instance, uint8 channel)
|
|
{
|
|
uint16 daocDuty;
|
|
uint16 daocRegA;
|
|
uint16 daocRegB;
|
|
int _1;
|
|
struct Emios_Pwm_Ip_HwAddrType * _2;
|
|
const struct Emios_Pwm_Ip_NotificationType * _3;
|
|
void (*<Te3>) (void *) _4;
|
|
void * _5;
|
|
int _12;
|
|
long unsigned int _13;
|
|
long unsigned int _14;
|
|
int _16;
|
|
struct Emios_Pwm_Ip_HwAddrType * _17;
|
|
unsigned char _18;
|
|
int _19;
|
|
long unsigned int _20;
|
|
short unsigned int _21;
|
|
int _22;
|
|
long unsigned int _23;
|
|
long unsigned int _24;
|
|
long unsigned int _25;
|
|
long unsigned int _26;
|
|
<unnamed type> _27;
|
|
short unsigned int _28;
|
|
short unsigned int _29;
|
|
int _31;
|
|
long unsigned int _32;
|
|
long unsigned int _33;
|
|
int _34;
|
|
int _35;
|
|
long unsigned int _36;
|
|
int _37;
|
|
int _38;
|
|
short unsigned int iftmp.0_40;
|
|
long unsigned int _41;
|
|
int _42;
|
|
long unsigned int _43;
|
|
long unsigned int _44;
|
|
int _45;
|
|
int _46;
|
|
int _47;
|
|
short unsigned int iftmp.1_49;
|
|
long unsigned int _50;
|
|
<unnamed type> _51;
|
|
short unsigned int _52;
|
|
int _53;
|
|
long unsigned int _54;
|
|
long unsigned int _55;
|
|
int _56;
|
|
int _57;
|
|
long unsigned int _58;
|
|
int _59;
|
|
int _60;
|
|
short unsigned int iftmp.2_62;
|
|
long unsigned int _63;
|
|
short unsigned int _64;
|
|
int _65;
|
|
long unsigned int _66;
|
|
long unsigned int _67;
|
|
int _68;
|
|
int _69;
|
|
long unsigned int _70;
|
|
int _71;
|
|
int _72;
|
|
short unsigned int iftmp.3_74;
|
|
long unsigned int _75;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) instance_7(D);
|
|
_2 = Emios_Pwm_Ip_aBasePtr[_1];
|
|
# DEBUG base => _2
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_ClearFlagEvent
|
|
# DEBUG BEGIN_STMT
|
|
_12 = (int) channel_9(D);
|
|
_13 ={v} _2->CH.UC[_12].S;
|
|
_14 = _13 | 1;
|
|
_2->CH.UC[_12].S ={v} _14;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG instance => instance_7(D)
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_IrqDaocHandler
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG daocDuty => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG daocRegA => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG daocRegB => 0
|
|
# DEBUG BEGIN_STMT
|
|
_16 = (int) instance_7(D);
|
|
_17 = Emios_Pwm_Ip_aBasePtr[_16];
|
|
_18 = Emios_Pwm_Ip_GetMasterBusChannel (instance_7(D), channel_9(D));
|
|
# DEBUG base => _17
|
|
# DEBUG channel => _18
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
|
|
# DEBUG BEGIN_STMT
|
|
_19 = (int) _18;
|
|
_20 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_19].A;
|
|
_21 = (short unsigned int) _20;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG counterMax => _21
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetEdgePolarity
|
|
# DEBUG BEGIN_STMT
|
|
_22 = (int) channel_9(D);
|
|
_23 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].C;
|
|
_24 = _23 & 128;
|
|
# DEBUG D#1 => _24 != 0
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG polarity => (<unnamed type>) D#1
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetOutputPinState
|
|
# DEBUG BEGIN_STMT
|
|
_25 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].S;
|
|
_26 = _25 & 2;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG outputPin => _26 != 0
|
|
# DEBUG BEGIN_STMT
|
|
_27 = Emios_Pwm_Ip_GetPwmMode (_17, channel_9(D));
|
|
if (_27 == 6)
|
|
goto <bb 3>; [51.12%]
|
|
else
|
|
goto <bb 8>; [48.88%]
|
|
|
|
<bb 3> [local count: 548896821]:
|
|
# DEBUG BEGIN_STMT
|
|
_28 = Emios_Pwm_Ip_aPeriod[_16][_22];
|
|
_29 = Emios_Pwm_Ip_aDaocDuty[_16][_22];
|
|
daocDuty_30 = _28 - _29;
|
|
# DEBUG daocDuty => daocDuty_30
|
|
# DEBUG BEGIN_STMT
|
|
_31 = (int) daocDuty_30;
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
|
|
# DEBUG BEGIN_STMT
|
|
_32 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].B;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
_33 = _32 & 65535;
|
|
_34 = (int) _33;
|
|
_35 = _31 + _34;
|
|
_36 = _20 & 65535;
|
|
_37 = (int) _36;
|
|
_38 = _35 % _37;
|
|
daocRegA_39 = (uint16) _38;
|
|
# DEBUG daocRegA => daocRegA_39
|
|
# DEBUG BEGIN_STMT
|
|
if (daocRegA_39 == 0)
|
|
goto <bb 5>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 4> [local count: 274448410]:
|
|
|
|
<bb 5> [local count: 548896820]:
|
|
# iftmp.0_40 = PHI <_21(3), daocRegA_39(4)>
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG value => iftmp.0_40
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
|
|
# DEBUG BEGIN_STMT
|
|
_41 = (long unsigned int) iftmp.0_40;
|
|
_17->CH.UC[_22].A ={v} _41;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG value => NULL
|
|
# DEBUG BEGIN_STMT
|
|
_42 = (int) _28;
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegB
|
|
# DEBUG BEGIN_STMT
|
|
_43 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].B;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
_44 = _43 & 65535;
|
|
_45 = (int) _44;
|
|
_46 = _42 + _45;
|
|
_47 = _46 % _37;
|
|
daocRegB_48 = (uint16) _47;
|
|
# DEBUG daocRegB => daocRegB_48
|
|
# DEBUG BEGIN_STMT
|
|
if (daocRegB_48 == 0)
|
|
goto <bb 7>; [50.00%]
|
|
else
|
|
goto <bb 6>; [50.00%]
|
|
|
|
<bb 6> [local count: 274448410]:
|
|
|
|
<bb 7> [local count: 548896820]:
|
|
# iftmp.1_49 = PHI <_21(5), daocRegB_48(6)>
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG value => iftmp.1_49
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
|
|
# DEBUG BEGIN_STMT
|
|
_50 = (long unsigned int) iftmp.1_49;
|
|
_17->CH.UC[_22].B ={v} _50;
|
|
goto <bb 19>; [100.00%]
|
|
|
|
<bb 8> [local count: 524845004]:
|
|
# DEBUG BEGIN_STMT
|
|
_51 = Emios_Pwm_Ip_GetPwmMode (_17, channel_9(D));
|
|
if (_51 == 7)
|
|
goto <bb 9>; [34.00%]
|
|
else
|
|
goto <bb 19>; [66.00%]
|
|
|
|
<bb 9> [local count: 178447301]:
|
|
# DEBUG BEGIN_STMT
|
|
if (_24 != 0)
|
|
goto <bb 10>; [50.00%]
|
|
else
|
|
goto <bb 11>; [50.00%]
|
|
|
|
<bb 10> [local count: 89223651]:
|
|
if (_26 == 0)
|
|
goto <bb 13>; [50.00%]
|
|
else
|
|
goto <bb 11>; [50.00%]
|
|
|
|
<bb 11> [local count: 133835476]:
|
|
if (_24 == 0)
|
|
goto <bb 12>; [50.00%]
|
|
else
|
|
goto <bb 16>; [50.00%]
|
|
|
|
<bb 12> [local count: 66917738]:
|
|
if (_26 != 0)
|
|
goto <bb 13>; [50.00%]
|
|
else
|
|
goto <bb 16>; [50.00%]
|
|
|
|
<bb 13> [local count: 78070694]:
|
|
# DEBUG BEGIN_STMT
|
|
_52 = Emios_Pwm_Ip_aPeriod[_16][_22];
|
|
_53 = (int) _52;
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
|
|
# DEBUG BEGIN_STMT
|
|
_54 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].A;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
_55 = _54 & 65535;
|
|
_56 = (int) _55;
|
|
_57 = _53 + _56;
|
|
_58 = _20 & 65535;
|
|
_59 = (int) _58;
|
|
_60 = _57 % _59;
|
|
daocRegA_61 = (uint16) _60;
|
|
# DEBUG daocRegA => daocRegA_61
|
|
# DEBUG BEGIN_STMT
|
|
if (daocRegA_61 == 0)
|
|
goto <bb 15>; [50.00%]
|
|
else
|
|
goto <bb 14>; [50.00%]
|
|
|
|
<bb 14> [local count: 39035347]:
|
|
|
|
<bb 15> [local count: 78070694]:
|
|
# iftmp.2_62 = PHI <_21(13), daocRegA_61(14)>
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG value => iftmp.2_62
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegA
|
|
# DEBUG BEGIN_STMT
|
|
_63 = (long unsigned int) iftmp.2_62;
|
|
_17->CH.UC[_22].A ={v} _63;
|
|
goto <bb 19>; [100.00%]
|
|
|
|
<bb 16> [local count: 100376607]:
|
|
# DEBUG BEGIN_STMT
|
|
_64 = Emios_Pwm_Ip_aDaocDuty[_16][_22];
|
|
_65 = (int) _64;
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_GetUCRegA
|
|
# DEBUG BEGIN_STMT
|
|
_66 ={v} MEM[(const struct Emios_Pwm_Ip_HwAddrType *)_17].CH.UC[_22].A;
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
_67 = _66 & 65535;
|
|
_68 = (int) _67;
|
|
_69 = _65 + _68;
|
|
_70 = _20 & 65535;
|
|
_71 = (int) _70;
|
|
_72 = _69 % _71;
|
|
daocRegB_73 = (uint16) _72;
|
|
# DEBUG daocRegB => daocRegB_73
|
|
# DEBUG BEGIN_STMT
|
|
if (daocRegB_73 == 0)
|
|
goto <bb 18>; [50.00%]
|
|
else
|
|
goto <bb 17>; [50.00%]
|
|
|
|
<bb 17> [local count: 50188304]:
|
|
|
|
<bb 18> [local count: 100376607]:
|
|
# iftmp.3_74 = PHI <_21(16), daocRegB_73(17)>
|
|
# DEBUG base => _17
|
|
# DEBUG channel => channel_9(D)
|
|
# DEBUG value => iftmp.3_74
|
|
# DEBUG INLINE_ENTRY Emios_Pwm_Ip_SetUCRegB
|
|
# DEBUG BEGIN_STMT
|
|
_75 = (long unsigned int) iftmp.3_74;
|
|
_17->CH.UC[_22].B ={v} _75;
|
|
|
|
<bb 19> [local count: 1073741823]:
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG value => NULL
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG value => NULL
|
|
# DEBUG base => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG value => NULL
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG instance => NULL
|
|
# DEBUG channel => NULL
|
|
# DEBUG daocRegB => NULL
|
|
# DEBUG daocRegA => NULL
|
|
# DEBUG daocDuty => NULL
|
|
# DEBUG BEGIN_STMT
|
|
_3 = Emios_Pwm_Ip_aNotificationPtr[_1][_12];
|
|
if (_3 != 0B)
|
|
goto <bb 20>; [70.00%]
|
|
else
|
|
goto <bb 21>; [30.00%]
|
|
|
|
<bb 20> [local count: 751619276]:
|
|
# DEBUG BEGIN_STMT
|
|
_4 = _3->cbFunction;
|
|
_5 = _3->cbParameter;
|
|
_4 (_5);
|
|
|
|
<bb 21> [local count: 1073741823]:
|
|
return;
|
|
|
|
}
|
|
|
|
|