mirror of
https://github.com/Dev-KATECH/ADM.git
synced 2026-05-17 01:43:59 +09:00
1649 lines
55 KiB
Plaintext
1649 lines
55 KiB
Plaintext
IPA function summary for Siul2_Port_Ip_GetPinConfiguration/16 inlinable
|
|
global time: 116.141645
|
|
self size: 33
|
|
global size: 33
|
|
min size: 8
|
|
self stack: 0
|
|
global stack: 0
|
|
size:19.500000, time:99.209331
|
|
size:5.500000, time:6.616119, executed if:(not inlined)
|
|
size:3.000000, time:3.000000, nonconst if:(op0 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0 changed || op2 changed)
|
|
calls:
|
|
Siul2_Port_Ip_GetMSCRConfiguration/5 function not considered for inlining
|
|
loop depth: 0 freq:0.49 size: 4 time: 13callee size:18 stack: 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_RevertPinConfiguration/15 inlinable
|
|
global time: 85.043468
|
|
self size: 20
|
|
global size: 20
|
|
min size: 4
|
|
self stack: 0
|
|
global stack: 0
|
|
size:10.500000, time:73.456064
|
|
size:3.500000, time:2.242931, executed if:(not inlined)
|
|
size:3.000000, time:3.000000, nonconst if:(op0 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0 changed || op1 changed)
|
|
array index:(op1 changed)
|
|
calls:
|
|
Siul2_Port_Ip_PinInit/4 function not considered for inlining
|
|
loop depth: 0 freq:0.49 size: 2 time: 11callee size:33 stack: 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetPinDirection/14 inlinable
|
|
global time: 9.600000
|
|
self size: 31
|
|
global size: 31
|
|
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:10.000000, time:4.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:0.200000, executed if:(op2 == 3) && (not inlined)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 3)
|
|
size:1.000000, time:0.200000, executed if:(op2 == 2) && (not inlined)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 2)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 1) && (not inlined)
|
|
size:4.000000, time:0.800000, executed if:(op2 == 1)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 0) && (not inlined)
|
|
size:4.000000, time:0.800000, executed if:(op2 == 0)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetInputBuffer/13 inlinable
|
|
global time: 16.880000
|
|
self size: 23
|
|
global size: 23
|
|
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.400000, executed if:(op0 != 0B) && (not inlined)
|
|
size:4.000000, time:2.800000, executed if:(op0 != 0B)
|
|
size:2.000000, time:1.400000, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B)
|
|
size:2.000000, time:2.000000, nonconst if:(op4 changed)
|
|
size:3.000000, time:1.980000, executed if:(op4 != 16), nonconst if:(op3 changed) && (op4 != 16)
|
|
size:4.000000, time:2.640000, executed if:(op4 != 16)
|
|
size:1.000000, time:0.660000, executed if:(op4 != 16), nonconst if:(op4 changed) && (op4 != 16)
|
|
array index:(op3 changed) && (op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetOutputBuffer/12 inlinable
|
|
global time: 17.000000
|
|
self size: 18
|
|
global size: 18
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:8.000000, time:8.000000
|
|
size:7.000000, time:6.000000, executed if:(not inlined)
|
|
size:2.000000, time:2.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op3 changed)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetPullSel/11 inlinable
|
|
global time: 8.500000
|
|
self size: 21
|
|
global size: 21
|
|
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:8.000000, time:4.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 2) && (not inlined)
|
|
size:2.000000, time:0.500000, executed if:(op2 == 2)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 1) && (not inlined)
|
|
size:2.000000, time:0.500000, executed if:(op2 == 1)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 0) && (not inlined)
|
|
size:3.000000, time:0.750000, executed if:(op2 == 0)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_Init/10 inlinable
|
|
global time: 135.454546
|
|
self size: 12
|
|
global size: 12
|
|
min size: 4
|
|
self stack: 0
|
|
global stack: 0
|
|
size:7.000000, time:44.454546
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
loop iterations:(op0 changed)
|
|
calls:
|
|
Siul2_Port_Ip_PinInit/4 function not considered for inlining
|
|
loop depth: 1 freq:8.09 size: 2 time: 11callee size:33 stack: 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetGPDO/9 inlinable
|
|
global time: 5.980000
|
|
self size: 8
|
|
global size: 8
|
|
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:(op2 changed)
|
|
size:2.000000, time:1.320000, executed if:(op2 != 2), nonconst if:(op1 changed) && (op2 != 2)
|
|
size:1.000000, time:0.660000, executed if:(op2 != 2)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetIMCR/8 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_ReadMSCR/7 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetMSCR/6 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_GetMSCRConfiguration/5 inlinable
|
|
global time: 34.000000
|
|
self size: 36
|
|
global size: 36
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:27.500000, time:26.500000
|
|
size:8.500000, time:7.500000, executed if:(not inlined)
|
|
array index:(op2 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_PinInit/4 inlinable
|
|
global time: 72.681444
|
|
self size: 66
|
|
global size: 66
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:13.500000, time:26.425590
|
|
size:5.500000, time:5.757854, executed if:(not inlined)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 64] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 64] changed)
|
|
size:3.000000, time:1.980000, executed if:(op0[ref offset: 64] != 2), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 64] != 2)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 128] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 120] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 120] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 112] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 112] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 96] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 136] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 136] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 88] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 88] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 80] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 80] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed || op0[ref offset: 80] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 72] changed) && (not inlined)
|
|
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 72] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed || op0[ref offset: 80] changed || op0[ref offset: 72] changed)
|
|
size:2.000000, time:1.000000, executed if:(op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 72] == 0)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 480] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
calls:
|
|
Siul2_Port_Ip_SetGPDO/9 function not considered for inlining
|
|
loop depth: 0 freq:0.10 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
op0 is compile time invariant
|
|
|
|
|
|
Flattening functions:
|
|
Overall time estimate: 516.281104 weighted by profile: 0.000000
|
|
|
|
Deciding on inlining of small functions. Starting with size 0.
|
|
Enqueueing calls in Siul2_Port_Ip_GetPinConfiguration/16.
|
|
Enqueueing calls in Siul2_Port_Ip_RevertPinConfiguration/15.
|
|
Enqueueing calls in Siul2_Port_Ip_SetPinDirection/14.
|
|
Enqueueing calls in Siul2_Port_Ip_SetInputBuffer/13.
|
|
Enqueueing calls in Siul2_Port_Ip_SetOutputBuffer/12.
|
|
Enqueueing calls in Siul2_Port_Ip_SetPullSel/11.
|
|
Enqueueing calls in Siul2_Port_Ip_Init/10.
|
|
Enqueueing calls in Siul2_Port_Ip_SetGPDO/9.
|
|
Enqueueing calls in Siul2_Port_Ip_SetIMCR/8.
|
|
Enqueueing calls in Siul2_Port_Ip_ReadMSCR/7.
|
|
Enqueueing calls in Siul2_Port_Ip_SetMSCR/6.
|
|
Enqueueing calls in Siul2_Port_Ip_GetMSCRConfiguration/5.
|
|
Enqueueing calls in Siul2_Port_Ip_PinInit/4.
|
|
|
|
Considering Siul2_Port_Ip_GetMSCRConfiguration/5 with 36 size
|
|
to be inlined into Siul2_Port_Ip_GetPinConfiguration/16 in ../RTD/src/Siul2_Port_Ip.c:814
|
|
Estimated badness is -0.232986, frequency 0.49.
|
|
|
|
Reclaiming functions:
|
|
Reclaiming variables:
|
|
Clearing address taken flags:
|
|
|
|
Deciding on functions to be inlined into all callers and removing useless speculations:
|
|
Overall time estimate: 488.840230 weighted by profile: 0.000000
|
|
|
|
Why inlining failed?
|
|
--param max-inline-insns-auto limit reached : 1 calls, 0.485861 freq, 0 count
|
|
call is unlikely and code size would grow : 2 calls, 8.192109 freq, 0 count
|
|
IPA function summary for Siul2_Port_Ip_GetPinConfiguration/16 inlinable
|
|
global time: 122.700771
|
|
self size: 33
|
|
global size: 57
|
|
min size: 8
|
|
self stack: 0
|
|
global stack: 0
|
|
size:47.000000, time:112.084652
|
|
size:5.500000, time:6.616119, executed if:(not inlined)
|
|
size:3.000000, time:3.000000, nonconst if:(op0 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0 changed || op2 changed)
|
|
calls:
|
|
Siul2_Port_Ip_GetMSCRConfiguration/5 inlined
|
|
loop depth: 0 freq:0.49 size: 4 time: 13callee size:18 stack: 0
|
|
Stack frame offset 0, callee self size 0, callee size 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_RevertPinConfiguration/15 inlinable
|
|
global time: 85.043468
|
|
self size: 20
|
|
global size: 20
|
|
min size: 4
|
|
self stack: 0
|
|
global stack: 0
|
|
size:10.500000, time:73.456064
|
|
size:3.500000, time:2.242931, executed if:(not inlined)
|
|
size:3.000000, time:3.000000, nonconst if:(op0 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0 changed || op1 changed)
|
|
array index:(op1 changed)
|
|
calls:
|
|
Siul2_Port_Ip_PinInit/4 --param max-inline-insns-auto limit reached
|
|
loop depth: 0 freq:0.49 size: 2 time: 11callee size:33 stack: 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetPinDirection/14 inlinable
|
|
global time: 9.600000
|
|
self size: 31
|
|
global size: 31
|
|
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:10.000000, time:4.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:0.200000, executed if:(op2 == 3) && (not inlined)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 3)
|
|
size:1.000000, time:0.200000, executed if:(op2 == 2) && (not inlined)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 2)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 1) && (not inlined)
|
|
size:4.000000, time:0.800000, executed if:(op2 == 1)
|
|
size:2.000000, time:0.400000, executed if:(op2 == 0) && (not inlined)
|
|
size:4.000000, time:0.800000, executed if:(op2 == 0)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetInputBuffer/13 inlinable
|
|
global time: 16.880000
|
|
self size: 23
|
|
global size: 23
|
|
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.400000, executed if:(op0 != 0B) && (not inlined)
|
|
size:4.000000, time:2.800000, executed if:(op0 != 0B)
|
|
size:2.000000, time:1.400000, executed if:(op0 != 0B), nonconst if:(op2 changed) && (op0 != 0B)
|
|
size:2.000000, time:2.000000, nonconst if:(op4 changed)
|
|
size:3.000000, time:1.980000, executed if:(op4 != 16), nonconst if:(op3 changed) && (op4 != 16)
|
|
size:4.000000, time:2.640000, executed if:(op4 != 16)
|
|
size:1.000000, time:0.660000, executed if:(op4 != 16), nonconst if:(op4 changed) && (op4 != 16)
|
|
array index:(op3 changed) && (op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetOutputBuffer/12 inlinable
|
|
global time: 17.000000
|
|
self size: 18
|
|
global size: 18
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
size:8.000000, time:8.000000
|
|
size:7.000000, time:6.000000, executed if:(not inlined)
|
|
size:2.000000, time:2.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op3 changed)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetPullSel/11 inlinable
|
|
global time: 8.500000
|
|
self size: 21
|
|
global size: 21
|
|
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:8.000000, time:4.000000, nonconst if:(op2 changed)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 2) && (not inlined)
|
|
size:2.000000, time:0.500000, executed if:(op2 == 2)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 1) && (not inlined)
|
|
size:2.000000, time:0.500000, executed if:(op2 == 1)
|
|
size:1.000000, time:0.250000, executed if:(op2 == 0) && (not inlined)
|
|
size:3.000000, time:0.750000, executed if:(op2 == 0)
|
|
array index:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_Init/10 inlinable
|
|
global time: 135.454546
|
|
self size: 12
|
|
global size: 12
|
|
min size: 4
|
|
self stack: 0
|
|
global stack: 0
|
|
size:7.000000, time:44.454546
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
loop iterations:(op0 changed)
|
|
calls:
|
|
Siul2_Port_Ip_PinInit/4 call is unlikely and code size would grow
|
|
loop depth: 1 freq:8.09 size: 2 time: 11callee size:33 stack: 0
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetGPDO/9 inlinable
|
|
global time: 5.980000
|
|
self size: 8
|
|
global size: 8
|
|
min size: 0
|
|
self stack: 0
|
|
global stack: 0
|
|
estimated growth:1
|
|
size:0.000000, time:0.000000
|
|
size:3.000000, time:2.000000, executed if:(not inlined)
|
|
size:2.000000, time:2.000000, nonconst if:(op2 changed)
|
|
size:2.000000, time:1.320000, executed if:(op2 != 2), nonconst if:(op1 changed) && (op2 != 2)
|
|
size:1.000000, time:0.660000, executed if:(op2 != 2)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetIMCR/8 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_ReadMSCR/7 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_SetMSCR/6 inlinable
|
|
global time: 5.000000
|
|
self size: 6
|
|
global size: 6
|
|
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:2.000000, time:2.000000, nonconst if:(op1 changed)
|
|
calls:
|
|
|
|
IPA function summary for Siul2_Port_Ip_PinInit/4 inlinable
|
|
global time: 72.681444
|
|
self size: 66
|
|
global size: 66
|
|
min size: 14
|
|
self stack: 0
|
|
global stack: 0
|
|
estimated growth:40
|
|
size:13.500000, time:26.425590
|
|
size:5.500000, time:5.757854, executed if:(not inlined)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 64] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 64] changed)
|
|
size:3.000000, time:1.980000, executed if:(op0[ref offset: 64] != 2), nonconst if:(op0[ref offset: 64] changed) && (op0[ref offset: 64] != 2)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 128] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 128] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 120] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 120] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 112] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 112] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 96] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 96] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 136] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 136] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 88] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 88] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 80] changed) && (not inlined)
|
|
size:2.500000, time:2.500000, nonconst if:(op0[ref offset: 80] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed || op0[ref offset: 80] changed)
|
|
size:0.500000, time:0.500000, executed if:(not inlined), nonconst if:(op0[ref offset: 72] changed) && (not inlined)
|
|
size:3.500000, time:3.500000, nonconst if:(op0[ref offset: 72] changed)
|
|
size:1.000000, time:1.000000, nonconst if:(op0[ref offset: 64] changed || op0[ref offset: 128] changed || op0[ref offset: 120] changed || op0[ref offset: 112] changed || op0[ref offset: 96] changed || op0[ref offset: 136] changed || op0[ref offset: 88] changed || op0[ref offset: 80] changed || op0[ref offset: 72] changed)
|
|
size:2.000000, time:1.000000, executed if:(op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 128] changed) && (op0[ref offset: 72] == 0)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 32] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined), nonconst if:(op0[ref offset: 480] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0) && (not inlined)
|
|
size:0.500000, time:0.050600, executed if:(op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0), nonconst if:(op0[ref offset: 480] changed) && (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
calls:
|
|
Siul2_Port_Ip_SetGPDO/9 call is unlikely and code size would grow
|
|
loop depth: 0 freq:0.10 size: 4 time: 13callee size: 4 stack: 0 predicate: (op0[ref offset: 128] == 1) && (op0[ref offset: 72] == 0)
|
|
op0 is compile time invariant
|
|
|
|
Symbol table:
|
|
|
|
Siul2_Port_Ip_GetPinConfiguration/16 (Siul2_Port_Ip_GetPinConfiguration) @05f1e2a0
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References: pPort_Setting/2 (read)u32MaxPinConfigured/3 (read)
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:114863532 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: Siul2_Port_Ip_GetMSCRConfiguration/5 (inlined) (55807732 (estimated locally),0.49 per call)
|
|
Siul2_Port_Ip_RevertPinConfiguration/15 (Siul2_Port_Ip_RevertPinConfiguration) @05f1ed20
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References: pPort_Setting/2 (read)u32MaxPinConfigured/3 (read)
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:114863532 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: Siul2_Port_Ip_PinInit/4 (55807731 (estimated locally),0.49 per call)
|
|
Siul2_Port_Ip_SetPinDirection/14 (Siul2_Port_Ip_SetPinDirection) @05f1ea80
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741823 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_SetInputBuffer/13 (Siul2_Port_Ip_SetInputBuffer) @05f1e620
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_SetOutputBuffer/12 (Siul2_Port_Ip_SetOutputBuffer) @05f1e1c0
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_SetPullSel/11 (Siul2_Port_Ip_SetPullSel) @05f0fa80
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_Init/10 (Siul2_Port_Ip_Init) @05f0f540
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References: pPort_Setting/2 (write)u32MaxPinConfigured/3 (write)
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:118111600 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls: Siul2_Port_Ip_PinInit/4 (955630223 (estimated locally),8.09 per call)
|
|
Siul2_Port_Ip_SetGPDO/9 (Siul2_Port_Ip_SetGPDO) @05f0fee0
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by: Siul2_Port_Ip_PinInit/4 (35507127 (estimated locally),0.10 per call)
|
|
Calls:
|
|
Siul2_Port_Ip_SetIMCR/8 (Siul2_Port_Ip_SetIMCR) @05f0fc40
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_ReadMSCR/7 (Siul2_Port_Ip_ReadMSCR) @05f0f9a0
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_SetMSCR/6 (Siul2_Port_Ip_SetMSCR) @05f0f700
|
|
Type: function definition analyzed
|
|
Visibility: externally_visible public
|
|
References:
|
|
Referring:
|
|
Availability: available
|
|
Function flags: count:1073741824 (estimated locally) body optimize_size
|
|
Called by:
|
|
Calls:
|
|
Siul2_Port_Ip_GetMSCRConfiguration/5 (Siul2_Port_Ip_GetMSCRConfiguration) @05f0f460
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring:
|
|
Function Siul2_Port_Ip_GetMSCRConfiguration/5 is inline copy in Siul2_Port_Ip_GetPinConfiguration/16
|
|
Availability: local
|
|
Function flags: count:55807732 (estimated locally) body local optimize_size
|
|
Called by: Siul2_Port_Ip_GetPinConfiguration/16 (inlined) (55807732 (estimated locally),0.49 per call)
|
|
Calls:
|
|
Siul2_Port_Ip_PinInit/4 (Siul2_Port_Ip_PinInit) @05f0f1c0
|
|
Type: function definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring:
|
|
Availability: local
|
|
Function flags: count:350860935 (estimated locally) body local optimize_size
|
|
Called by: Siul2_Port_Ip_RevertPinConfiguration/15 (55807731 (estimated locally),0.49 per call) Siul2_Port_Ip_Init/10 (955630223 (estimated locally),8.09 per call)
|
|
Calls: Siul2_Port_Ip_SetGPDO/9 (35507127 (estimated locally),0.10 per call)
|
|
u32MaxPinConfigured/3 (u32MaxPinConfigured) @05c1b048
|
|
Type: variable definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring: Siul2_Port_Ip_Init/10 (write)Siul2_Port_Ip_RevertPinConfiguration/15 (read)Siul2_Port_Ip_GetPinConfiguration/16 (read)
|
|
Availability: available
|
|
Varpool flags:
|
|
pPort_Setting/2 (pPort_Setting) @05c18f78
|
|
Type: variable definition analyzed
|
|
Visibility: prevailing_def_ironly
|
|
References:
|
|
Referring: Siul2_Port_Ip_Init/10 (write)Siul2_Port_Ip_RevertPinConfiguration/15 (read)Siul2_Port_Ip_GetPinConfiguration/16 (read)
|
|
Availability: available
|
|
Varpool flags:
|
|
|
|
;; Function Siul2_Port_Ip_SetMSCR (Siul2_Port_Ip_SetMSCR, funcdef_no=3, decl_uid=4815, cgraph_uid=4, symbol_order=6)
|
|
|
|
Siul2_Port_Ip_SetMSCR (uint8 SiulInstance, uint16 MscrInstance, uint32 value)
|
|
{
|
|
long unsigned int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
volatile uint32 * _4;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (long unsigned int) MscrInstance_6(D);
|
|
_2 = _1 << 2;
|
|
_3 = _2 + 1076429376;
|
|
_4 = (volatile uint32 *) _3;
|
|
*_4 ={v} value_8(D);
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_ReadMSCR (Siul2_Port_Ip_ReadMSCR, funcdef_no=4, decl_uid=4826, cgraph_uid=5, symbol_order=7)
|
|
|
|
Siul2_Port_Ip_ReadMSCR (uint8 SiulInstance, uint16 MscrInstance)
|
|
{
|
|
long unsigned int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
volatile uint32 * _4;
|
|
uint32 _8;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (long unsigned int) MscrInstance_6(D);
|
|
_2 = _1 << 2;
|
|
_3 = _2 + 1076429376;
|
|
_4 = (volatile uint32 *) _3;
|
|
_8 ={v} *_4;
|
|
return _8;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetIMCR (Siul2_Port_Ip_SetIMCR, funcdef_no=5, decl_uid=4819, cgraph_uid=6, symbol_order=8)
|
|
|
|
Siul2_Port_Ip_SetIMCR (uint8 SiulInstance, uint16 ImcrInstance, uint32 value)
|
|
{
|
|
long unsigned int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
volatile uint32 * _4;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (long unsigned int) ImcrInstance_6(D);
|
|
_2 = _1 << 2;
|
|
_3 = _2 + 1076431424;
|
|
_4 = (volatile uint32 *) _3;
|
|
*_4 ={v} value_8(D);
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetGPDO (Siul2_Port_Ip_SetGPDO, funcdef_no=6, decl_uid=4823, cgraph_uid=7, symbol_order=9)
|
|
|
|
Siul2_Port_Ip_SetGPDO (uint8 SiulInstance, uint16 GpdoInstance, uint8 value)
|
|
{
|
|
short unsigned int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
volatile uint8 * _4;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
if (value_6(D) != 2)
|
|
goto <bb 3>; [66.00%]
|
|
else
|
|
goto <bb 4>; [34.00%]
|
|
|
|
<bb 3> [local count: 708669605]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = GpdoInstance_9(D) ^ 3;
|
|
_2 = (long unsigned int) _1;
|
|
_3 = _2 + 1076433664;
|
|
_4 = (volatile uint8 *) _3;
|
|
*_4 ={v} value_6(D);
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_PinInit (Siul2_Port_Ip_PinInit, funcdef_no=1, decl_uid=4869, cgraph_uid=2, symbol_order=4)
|
|
|
|
Siul2_Port_Ip_PinInit (const struct Siul2_Port_Ip_PinSettingsConfig * config)
|
|
{
|
|
uint32 imcrRegIdx;
|
|
uint8 inputMuxIterator;
|
|
uint32 pinsValues;
|
|
<unnamed type> _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
<unnamed type> _5;
|
|
long unsigned int _6;
|
|
long unsigned int _7;
|
|
long unsigned int _8;
|
|
<unnamed type> _9;
|
|
long unsigned int _10;
|
|
long unsigned int _11;
|
|
long unsigned int _12;
|
|
<unnamed type> _13;
|
|
long unsigned int _14;
|
|
long unsigned int _15;
|
|
long unsigned int _16;
|
|
<unnamed type> _17;
|
|
long unsigned int _18;
|
|
long unsigned int _19;
|
|
long unsigned int _20;
|
|
<unnamed type> _21;
|
|
long unsigned int _22;
|
|
long unsigned int _23;
|
|
long unsigned int _24;
|
|
<unnamed type> _25;
|
|
long unsigned int _26;
|
|
long unsigned int _27;
|
|
long unsigned int _28;
|
|
<unnamed type> _29;
|
|
long unsigned int _30;
|
|
long unsigned int _31;
|
|
long unsigned int _32;
|
|
<unnamed type> _33;
|
|
long unsigned int _34;
|
|
long unsigned int _35;
|
|
short unsigned int _36;
|
|
unsigned char _37;
|
|
struct SIUL2_Type * _38;
|
|
long unsigned int _39;
|
|
<unnamed type> _40;
|
|
int _41;
|
|
<unnamed type> _42;
|
|
long unsigned int _43;
|
|
long unsigned int _44;
|
|
<unnamed type> _51;
|
|
<unnamed type> _52;
|
|
|
|
<bb 2> [local count: 350860935]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG pinsValues => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG siulInstance => 0
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG imcrBase => 1076428800B
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG siulInstance => 0
|
|
# DEBUG BEGIN_STMT
|
|
_1 = config_54(D)->pullConfig;
|
|
if (_1 != 2)
|
|
goto <bb 3>; [66.00%]
|
|
else
|
|
goto <bb 4>; [34.00%]
|
|
|
|
<bb 3> [local count: 231568217]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG pinsValues => 8192
|
|
# DEBUG BEGIN_STMT
|
|
_2 = (long unsigned int) _1;
|
|
_3 = _2 << 11;
|
|
_4 = _3 & 2048;
|
|
pinsValues_55 = _4 | 8192;
|
|
# DEBUG pinsValues => pinsValues_55
|
|
|
|
<bb 4> [local count: 350860935]:
|
|
# pinsValues_45 = PHI <0(2), pinsValues_55(3)>
|
|
# DEBUG pinsValues => pinsValues_45
|
|
# DEBUG BEGIN_STMT
|
|
_5 = config_54(D)->outputBuffer;
|
|
_6 = (long unsigned int) _5;
|
|
_7 = _6 << 21;
|
|
_8 = _7 & 2097152;
|
|
pinsValues_56 = _8 | pinsValues_45;
|
|
# DEBUG pinsValues => pinsValues_56
|
|
# DEBUG BEGIN_STMT
|
|
_9 = config_54(D)->invert;
|
|
_10 = (long unsigned int) _9;
|
|
_11 = _10 << 17;
|
|
_12 = _11 & 131072;
|
|
pinsValues_57 = _12 | pinsValues_56;
|
|
# DEBUG pinsValues => pinsValues_57
|
|
# DEBUG BEGIN_STMT
|
|
_13 = config_54(D)->pullKeep;
|
|
_14 = (long unsigned int) _13;
|
|
_15 = _14 << 16;
|
|
_16 = _15 & 65536;
|
|
pinsValues_58 = _16 | pinsValues_57;
|
|
# DEBUG pinsValues => pinsValues_58
|
|
# DEBUG BEGIN_STMT
|
|
_17 = config_54(D)->driveStrength;
|
|
_18 = (long unsigned int) _17;
|
|
_19 = _18 << 8;
|
|
_20 = _19 & 256;
|
|
pinsValues_59 = _20 | pinsValues_58;
|
|
# DEBUG pinsValues => pinsValues_59
|
|
# DEBUG BEGIN_STMT
|
|
_21 = config_54(D)->inputBuffer;
|
|
_22 = (long unsigned int) _21;
|
|
_23 = _22 << 19;
|
|
_24 = _23 & 524288;
|
|
pinsValues_60 = _24 | pinsValues_59;
|
|
# DEBUG pinsValues => pinsValues_60
|
|
# DEBUG BEGIN_STMT
|
|
_25 = config_54(D)->slewRateCtrlSel;
|
|
_26 = (long unsigned int) _25;
|
|
_27 = _26 << 14;
|
|
_28 = _27 & 16384;
|
|
pinsValues_61 = _28 | pinsValues_60;
|
|
# DEBUG pinsValues => pinsValues_61
|
|
# DEBUG BEGIN_STMT
|
|
_29 = config_54(D)->safeMode;
|
|
_30 = (long unsigned int) _29;
|
|
_31 = _30 << 5;
|
|
_32 = _31 & 32;
|
|
pinsValues_62 = _32 | pinsValues_61;
|
|
# DEBUG pinsValues => pinsValues_62
|
|
# DEBUG BEGIN_STMT
|
|
_33 = config_54(D)->mux;
|
|
_51 = _33 & 7;
|
|
_34 = (long unsigned int) _51;
|
|
pinsValues_63 = _34 | pinsValues_62;
|
|
# DEBUG pinsValues => pinsValues_63
|
|
# DEBUG BEGIN_STMT
|
|
if (_33 == 0)
|
|
goto <bb 5>; [50.00%]
|
|
else
|
|
goto <bb 7>; [50.00%]
|
|
|
|
<bb 5> [local count: 175430467]:
|
|
if (_5 == 1)
|
|
goto <bb 6>; [20.24%]
|
|
else
|
|
goto <bb 7>; [79.76%]
|
|
|
|
<bb 6> [local count: 35507127]:
|
|
# DEBUG BEGIN_STMT
|
|
_35 = config_54(D)->pinPortIdx;
|
|
_36 = (short unsigned int) _35;
|
|
_37 = config_54(D)->initValue;
|
|
Siul2_Port_Ip_SetGPDO (0, _36, _37);
|
|
|
|
<bb 7> [local count: 350860935]:
|
|
# DEBUG BEGIN_STMT
|
|
_38 = config_54(D)->base;
|
|
_39 = config_54(D)->pinPortIdx;
|
|
_38->MSCR[_39] ={v} pinsValues_63;
|
|
# DEBUG BEGIN_STMT
|
|
_40 = config_54(D)->inputBuffer;
|
|
if (_40 == 1)
|
|
goto <bb 13>; [34.00%]
|
|
else
|
|
goto <bb 12>; [66.00%]
|
|
|
|
<bb 13> [local count: 119292718]:
|
|
goto <bb 11>; [100.00%]
|
|
|
|
<bb 8> [local count: 954449108]:
|
|
# DEBUG BEGIN_STMT
|
|
_41 = (int) inputMuxIterator_46;
|
|
_42 = config_54(D)->inputMux[_41];
|
|
if (_42 != 16)
|
|
goto <bb 9>; [66.00%]
|
|
else
|
|
goto <bb 10>; [34.00%]
|
|
|
|
<bb 9> [local count: 629936411]:
|
|
# DEBUG BEGIN_STMT
|
|
imcrRegIdx_66 = config_54(D)->inputMuxReg[_41];
|
|
# DEBUG imcrRegIdx => imcrRegIdx_66
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG imcrBase => 1076428800B
|
|
# DEBUG BEGIN_STMT
|
|
_43 = imcrRegIdx_66 & 511;
|
|
_52 = _42 & 15;
|
|
_44 = (long unsigned int) _52;
|
|
MEM[(struct SIUL2_Type *)1076428800B].IMCR[_43] ={v} _44;
|
|
|
|
<bb 10> [local count: 954449108]:
|
|
# DEBUG imcrBase => 1076428800B
|
|
# DEBUG BEGIN_STMT
|
|
inputMuxIterator_68 = inputMuxIterator_46 + 1;
|
|
# DEBUG inputMuxIterator => inputMuxIterator_68
|
|
|
|
<bb 11> [local count: 1073741824]:
|
|
# inputMuxIterator_46 = PHI <inputMuxIterator_68(10), 0(13)>
|
|
# DEBUG imcrBase => 1076428800B
|
|
# DEBUG inputMuxIterator => inputMuxIterator_46
|
|
# DEBUG BEGIN_STMT
|
|
if (inputMuxIterator_46 != 8)
|
|
goto <bb 8>; [88.89%]
|
|
else
|
|
goto <bb 12>; [11.11%]
|
|
|
|
<bb 12> [local count: 350860934]:
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_Init (Siul2_Port_Ip_Init, funcdef_no=7, decl_uid=4844, cgraph_uid=8, symbol_order=10)
|
|
|
|
Siul2_Port_Ip_Init (uint32 pinCount, const struct Siul2_Port_Ip_PinSettingsConfig * config)
|
|
{
|
|
uint32 i;
|
|
long unsigned int _1;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * _2;
|
|
|
|
<bb 2> [local count: 118111600]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
pPort_Setting = config_6(D);
|
|
# DEBUG BEGIN_STMT
|
|
u32MaxPinConfigured = pinCount_8(D);
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG i => 0
|
|
goto <bb 4>; [100.00%]
|
|
|
|
<bb 3> [local count: 955630223]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = i_3 * 64;
|
|
_2 = config_6(D) + _1;
|
|
Siul2_Port_Ip_PinInit (_2);
|
|
# DEBUG BEGIN_STMT
|
|
i_11 = i_3 + 1;
|
|
# DEBUG i => i_11
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# i_3 = PHI <0(2), i_11(3)>
|
|
# DEBUG i => i_3
|
|
# DEBUG BEGIN_STMT
|
|
if (i_3 < pinCount_8(D))
|
|
goto <bb 3>; [89.00%]
|
|
else
|
|
goto <bb 5>; [11.00%]
|
|
|
|
<bb 5> [local count: 118111601]:
|
|
# DEBUG BEGIN_STMT
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetPullSel (Siul2_Port_Ip_SetPullSel, funcdef_no=8, decl_uid=4830, cgraph_uid=9, symbol_order=11)
|
|
|
|
Siul2_Port_Ip_SetPullSel (struct Siul2_Port_Ip_PortType * const base, uint16 pin, Siul2_Port_Ip_PortPullConfig pullConfig)
|
|
{
|
|
uint32 regVal;
|
|
int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
int _4;
|
|
int _5;
|
|
long unsigned int _18;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG pueVal => 8192
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG pusVal => 2048
|
|
# DEBUG BEGIN_STMT
|
|
switch (pullConfig_7(D)) <default: <L5> [25.00%], case 0: <L1> [25.00%], case 1: <L2> [25.00%], case 2: <L0> [25.00%]>
|
|
|
|
<bb 3> [local count: 268435456]:
|
|
<L0>:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) pin_9(D);
|
|
_2 ={v} base_10(D)->MSCR[_1];
|
|
_3 = _2 & 4294959103;
|
|
base_10(D)->MSCR[_1] ={v} _3;
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 6>; [100.00%]
|
|
|
|
<bb 4> [local count: 268435456]:
|
|
<L1>:
|
|
# DEBUG BEGIN_STMT
|
|
_4 = (int) pin_9(D);
|
|
regVal_15 ={v} base_10(D)->MSCR[_4];
|
|
# DEBUG regVal => regVal_15
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG regVal => regVal_15 | 8192
|
|
# DEBUG BEGIN_STMT
|
|
_18 = regVal_15 & 4294965247;
|
|
regVal_16 = _18 | 8192;
|
|
# DEBUG regVal => regVal_16
|
|
# DEBUG BEGIN_STMT
|
|
base_10(D)->MSCR[_4] ={v} regVal_16;
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 6>; [100.00%]
|
|
|
|
<bb 5> [local count: 268435456]:
|
|
<L2>:
|
|
# DEBUG BEGIN_STMT
|
|
_5 = (int) pin_9(D);
|
|
regVal_12 ={v} base_10(D)->MSCR[_5];
|
|
# DEBUG regVal => regVal_12
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG regVal => regVal_12 | 8192
|
|
# DEBUG BEGIN_STMT
|
|
regVal_13 = regVal_12 | 10240;
|
|
# DEBUG regVal => regVal_13
|
|
# DEBUG BEGIN_STMT
|
|
base_10(D)->MSCR[_5] ={v} regVal_13;
|
|
# DEBUG BEGIN_STMT
|
|
|
|
<bb 6> [local count: 1073741824]:
|
|
<L5>:
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetOutputBuffer (Siul2_Port_Ip_SetOutputBuffer, funcdef_no=9, decl_uid=4835, cgraph_uid=10, symbol_order=12)
|
|
|
|
Siul2_Port_Ip_SetOutputBuffer (struct Siul2_Port_Ip_PortType * const base, uint16 pin, boolean enable, Siul2_Port_Ip_PortMux mux)
|
|
{
|
|
int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
long unsigned int _5;
|
|
long unsigned int _6;
|
|
long unsigned int _7;
|
|
long unsigned int _8;
|
|
long unsigned int _9;
|
|
long unsigned int _10;
|
|
long unsigned int iftmp.1_11;
|
|
<unnamed type> _17;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) pin_12(D);
|
|
_2 ={v} base_14(D)->MSCR[_1];
|
|
_3 = _2 & 4292870143;
|
|
base_14(D)->MSCR[_1] ={v} _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 ={v} base_14(D)->MSCR[_1];
|
|
if (enable_16(D) != 0)
|
|
goto <bb 4>; [50.00%]
|
|
else
|
|
goto <bb 3>; [50.00%]
|
|
|
|
<bb 3> [local count: 536870913]:
|
|
|
|
<bb 4> [local count: 1073741824]:
|
|
# iftmp.1_11 = PHI <2097152(2), 0(3)>
|
|
_5 = _4 | iftmp.1_11;
|
|
base_14(D)->MSCR[_1] ={v} _5;
|
|
# DEBUG BEGIN_STMT
|
|
_6 ={v} base_14(D)->MSCR[_1];
|
|
_7 = _6 & 4294967288;
|
|
base_14(D)->MSCR[_1] ={v} _7;
|
|
# DEBUG BEGIN_STMT
|
|
_8 ={v} base_14(D)->MSCR[_1];
|
|
_17 = mux_20(D) & 7;
|
|
_9 = (long unsigned int) _17;
|
|
_10 = _8 | _9;
|
|
base_14(D)->MSCR[_1] ={v} _10;
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetInputBuffer (Siul2_Port_Ip_SetInputBuffer, funcdef_no=10, decl_uid=4841, cgraph_uid=11, symbol_order=13)
|
|
|
|
Siul2_Port_Ip_SetInputBuffer (struct Siul2_Port_Ip_PortType * const base, uint16 pin, boolean enable, uint32 inputMuxReg, Siul2_Port_Ip_PortInputMux inputMux)
|
|
{
|
|
uint32 imcrVal;
|
|
struct SIUL2_Type * siul2Base;
|
|
int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
long unsigned int _5;
|
|
long unsigned int _6;
|
|
long unsigned int _7;
|
|
long unsigned int iftmp.2_9;
|
|
<unnamed type> _12;
|
|
|
|
<bb 2> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG siul2Base => 4294967295B
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG imcrRegIdx => inputMuxReg_13(D)
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
if (base_14(D) != 0B)
|
|
goto <bb 3>; [70.00%]
|
|
else
|
|
goto <bb 6>; [30.00%]
|
|
|
|
<bb 3> [local count: 751619278]:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) pin_16(D);
|
|
_2 ={v} base_14(D)->MSCR[_1];
|
|
_3 = _2 & 4294443007;
|
|
base_14(D)->MSCR[_1] ={v} _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 ={v} base_14(D)->MSCR[_1];
|
|
if (enable_18(D) != 0)
|
|
goto <bb 5>; [50.00%]
|
|
else
|
|
goto <bb 4>; [50.00%]
|
|
|
|
<bb 4> [local count: 375809639]:
|
|
|
|
<bb 5> [local count: 751619278]:
|
|
# iftmp.2_9 = PHI <524288(3), 0(4)>
|
|
_5 = _4 | iftmp.2_9;
|
|
base_14(D)->MSCR[_1] ={v} _5;
|
|
|
|
<bb 6> [local count: 1073741824]:
|
|
# DEBUG BEGIN_STMT
|
|
if (inputMux_20(D) != 16)
|
|
goto <bb 7>; [66.00%]
|
|
else
|
|
goto <bb 10>; [34.00%]
|
|
|
|
<bb 7> [local count: 708669605]:
|
|
# DEBUG BEGIN_STMT
|
|
if (inputMuxReg_13(D) <= 511)
|
|
goto <bb 8>; [50.00%]
|
|
else
|
|
goto <bb 9>; [50.00%]
|
|
|
|
<bb 8> [local count: 354334802]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG siul2Base => 1076428800B
|
|
|
|
<bb 9> [local count: 708669605]:
|
|
# siul2Base_8 = PHI <4294967295B(7), 1076428800B(8)>
|
|
# DEBUG siul2Base => siul2Base_8
|
|
# DEBUG BEGIN_STMT
|
|
_6 = inputMuxReg_13(D) & 511;
|
|
imcrVal_21 ={v} siul2Base_8->IMCR[_6];
|
|
# DEBUG imcrVal => imcrVal_21
|
|
# DEBUG BEGIN_STMT
|
|
imcrVal_22 = imcrVal_21 & 4294967280;
|
|
# DEBUG imcrVal => imcrVal_22
|
|
# DEBUG BEGIN_STMT
|
|
_12 = inputMux_20(D) & 15;
|
|
_7 = (long unsigned int) _12;
|
|
imcrVal_23 = _7 | imcrVal_22;
|
|
# DEBUG imcrVal => imcrVal_23
|
|
# DEBUG BEGIN_STMT
|
|
siul2Base_8->IMCR[_6] ={v} imcrVal_23;
|
|
|
|
<bb 10> [local count: 1073741824]:
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_SetPinDirection (Siul2_Port_Ip_SetPinDirection, funcdef_no=11, decl_uid=4848, cgraph_uid=12, symbol_order=14)
|
|
|
|
Siul2_Port_Ip_SetPinDirection (struct Siul2_Port_Ip_PortType * const base, uint16 pin, Siul2_Port_Ip_PortDirectionType direction)
|
|
{
|
|
int _1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
long unsigned int _5;
|
|
int _6;
|
|
long unsigned int _7;
|
|
long unsigned int _8;
|
|
long unsigned int _9;
|
|
long unsigned int _10;
|
|
int _11;
|
|
long unsigned int _12;
|
|
long unsigned int _13;
|
|
int _14;
|
|
long unsigned int _15;
|
|
long unsigned int _16;
|
|
|
|
<bb 2> [local count: 1073741823]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
switch (direction_18(D)) <default: <L6> [20.00%], case 0: <L0> [20.00%], case 1: <L1> [20.00%], case 2: <L2> [20.00%], case 3: <L3> [20.00%]>
|
|
|
|
<bb 3> [local count: 214748364]:
|
|
<L0>:
|
|
# DEBUG BEGIN_STMT
|
|
_1 = (int) pin_20(D);
|
|
_2 ={v} base_21(D)->MSCR[_1];
|
|
_3 = _2 & 4292870143;
|
|
base_21(D)->MSCR[_1] ={v} _3;
|
|
# DEBUG BEGIN_STMT
|
|
_4 ={v} base_21(D)->MSCR[_1];
|
|
_5 = _4 | 524288;
|
|
base_21(D)->MSCR[_1] ={v} _5;
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 4> [local count: 214748364]:
|
|
<L1>:
|
|
# DEBUG BEGIN_STMT
|
|
_6 = (int) pin_20(D);
|
|
_7 ={v} base_21(D)->MSCR[_6];
|
|
_8 = _7 & 4294443007;
|
|
base_21(D)->MSCR[_6] ={v} _8;
|
|
# DEBUG BEGIN_STMT
|
|
_9 ={v} base_21(D)->MSCR[_6];
|
|
_10 = _9 | 2097152;
|
|
base_21(D)->MSCR[_6] ={v} _10;
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 5> [local count: 214748364]:
|
|
<L2>:
|
|
# DEBUG BEGIN_STMT
|
|
_11 = (int) pin_20(D);
|
|
_12 ={v} base_21(D)->MSCR[_11];
|
|
_13 = _12 | 2621440;
|
|
base_21(D)->MSCR[_11] ={v} _13;
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 6> [local count: 214748364]:
|
|
<L3>:
|
|
# DEBUG BEGIN_STMT
|
|
_14 = (int) pin_20(D);
|
|
_15 ={v} base_21(D)->MSCR[_14];
|
|
_16 = _15 & 4292345855;
|
|
base_21(D)->MSCR[_14] ={v} _16;
|
|
# DEBUG BEGIN_STMT
|
|
|
|
<bb 7> [local count: 1073741824]:
|
|
<L6>:
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_RevertPinConfiguration (Siul2_Port_Ip_RevertPinConfiguration, funcdef_no=12, decl_uid=4851, cgraph_uid=13, symbol_order=15)
|
|
|
|
Siul2_Port_Ip_RevertPinConfiguration (const struct Siul2_Port_Ip_PortType * const base, uint16 pin)
|
|
{
|
|
uint32 u32MscrId;
|
|
uint32 portNumber;
|
|
uint32 MaxPinConfigured;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * ConfigPtr;
|
|
uint32 u32RegVal;
|
|
uint16 u16PinIdx;
|
|
long unsigned int base.3_1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * _5;
|
|
unsigned int _6;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * _7;
|
|
long unsigned int _8;
|
|
int _9;
|
|
long unsigned int _10;
|
|
|
|
<bb 2> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG u32RegVal => 4294967295
|
|
# DEBUG BEGIN_STMT
|
|
ConfigPtr_15 = pPort_Setting;
|
|
# DEBUG ConfigPtr => ConfigPtr_15
|
|
# DEBUG BEGIN_STMT
|
|
MaxPinConfigured_16 = u32MaxPinConfigured;
|
|
# DEBUG MaxPinConfigured => MaxPinConfigured_16
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
base.3_1 = (long unsigned int) base_17(D);
|
|
_2 = base.3_1 + 3218537920;
|
|
portNumber_18 = _2 >> 6;
|
|
# DEBUG portNumber => portNumber_18
|
|
# DEBUG BEGIN_STMT
|
|
_3 = portNumber_18 << 4;
|
|
_4 = (long unsigned int) pin_19(D);
|
|
u32MscrId_20 = _3 + _4;
|
|
# DEBUG u32MscrId => u32MscrId_20
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG u16PinIdx => 0
|
|
goto <bb 6>; [100.00%]
|
|
|
|
<bb 3> [local count: 1014686025]:
|
|
# DEBUG BEGIN_STMT
|
|
_6 = _10 * 64;
|
|
_7 = ConfigPtr_15 + _6;
|
|
_8 = _7->pinPortIdx;
|
|
if (_8 == u32MscrId_20)
|
|
goto <bb 4>; [5.50%]
|
|
else
|
|
goto <bb 5>; [94.50%]
|
|
|
|
<bb 4> [local count: 55807731]:
|
|
# _5 = PHI <_7(3)>
|
|
# DEBUG BEGIN_STMT
|
|
Siul2_Port_Ip_PinInit (_5);
|
|
# DEBUG BEGIN_STMT
|
|
_9 = (int) pin_19(D);
|
|
u32RegVal_23 ={v} base_17(D)->MSCR[_9];
|
|
# DEBUG u32RegVal => u32RegVal_23
|
|
# DEBUG BEGIN_STMT
|
|
goto <bb 7>; [100.00%]
|
|
|
|
<bb 5> [local count: 958878293]:
|
|
# DEBUG BEGIN_STMT
|
|
u16PinIdx_21 = u16PinIdx_11 + 1;
|
|
# DEBUG u16PinIdx => u16PinIdx_21
|
|
|
|
<bb 6> [local count: 1073741824]:
|
|
# u16PinIdx_11 = PHI <0(2), u16PinIdx_21(5)>
|
|
# DEBUG u16PinIdx => u16PinIdx_11
|
|
# DEBUG BEGIN_STMT
|
|
_10 = (long unsigned int) u16PinIdx_11;
|
|
if (_10 < MaxPinConfigured_16)
|
|
goto <bb 3>; [94.50%]
|
|
else
|
|
goto <bb 7>; [5.50%]
|
|
|
|
<bb 7> [local count: 114863532]:
|
|
# u32RegVal_12 = PHI <u32RegVal_23(4), 4294967295(6)>
|
|
# DEBUG u32RegVal => u32RegVal_12
|
|
# DEBUG BEGIN_STMT
|
|
return u32RegVal_12;
|
|
|
|
}
|
|
|
|
|
|
|
|
;; Function Siul2_Port_Ip_GetPinConfiguration (Siul2_Port_Ip_GetPinConfiguration, funcdef_no=13, decl_uid=4855, cgraph_uid=14, symbol_order=16)
|
|
|
|
|
|
Symbols to be put in SSA form
|
|
{ D.5051 }
|
|
Incremental SSA update started at block: 0
|
|
Number of blocks in CFG: 15
|
|
Number of blocks to update: 14 ( 93%)
|
|
|
|
|
|
Removing basic block 7
|
|
Removing basic block 11
|
|
;; 3 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
|
|
;;
|
|
;; Loop 2
|
|
;; header 6, latch 5
|
|
;; depth 1, outer 0
|
|
;; nodes: 6 5
|
|
;;
|
|
;; Loop 1
|
|
;; header 11, latch 10
|
|
;; depth 1, outer 0
|
|
;; nodes: 11 10 3
|
|
;; 2 succs { 11 }
|
|
;; 3 succs { 4 10 }
|
|
;; 4 succs { 6 }
|
|
;; 5 succs { 6 }
|
|
;; 6 succs { 5 7 }
|
|
;; 7 succs { 9 8 }
|
|
;; 8 succs { 9 }
|
|
;; 9 succs { 12 }
|
|
;; 10 succs { 11 }
|
|
;; 11 succs { 3 12 }
|
|
;; 12 succs { 1 }
|
|
Siul2_Port_Ip_GetPinConfiguration (const struct Siul2_Port_Ip_PortType * const base, struct Siul2_Port_Ip_PinSettingsConfig * config, uint16 pin)
|
|
{
|
|
uint32 u32RegVal;
|
|
Siul2_Port_Ip_PortPullConfig pullValue;
|
|
uint8 inputMuxIterator;
|
|
uint16 u16PinIdx;
|
|
uint32 u32MscrId;
|
|
uint32 portNumber;
|
|
uint32 MaxPinConfigured;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * ConfigPtr;
|
|
long unsigned int base.5_1;
|
|
long unsigned int _2;
|
|
long unsigned int _3;
|
|
long unsigned int _4;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * _5;
|
|
unsigned int _6;
|
|
const struct Siul2_Port_Ip_PinSettingsConfig * _7;
|
|
long unsigned int _8;
|
|
struct SIUL2_Type * _9;
|
|
unsigned char _10;
|
|
int _11;
|
|
long unsigned int _12;
|
|
<unnamed type> _13;
|
|
long unsigned int _14;
|
|
long unsigned int _15;
|
|
int _36;
|
|
unsigned char _38;
|
|
unsigned char _39;
|
|
long unsigned int _40;
|
|
long unsigned int _41;
|
|
<unnamed type> _42;
|
|
long unsigned int _43;
|
|
long unsigned int _44;
|
|
long unsigned int _45;
|
|
long unsigned int _48;
|
|
long unsigned int _49;
|
|
<unnamed type> _50;
|
|
long unsigned int _51;
|
|
long unsigned int _52;
|
|
<unnamed type> _53;
|
|
long unsigned int _54;
|
|
long unsigned int _55;
|
|
<unnamed type> _56;
|
|
long unsigned int _57;
|
|
long unsigned int _58;
|
|
<unnamed type> _59;
|
|
long unsigned int _60;
|
|
long unsigned int _61;
|
|
<unnamed type> _62;
|
|
long unsigned int _63;
|
|
long unsigned int _64;
|
|
<unnamed type> _65;
|
|
long unsigned int _66;
|
|
long unsigned int _67;
|
|
<unnamed type> _68;
|
|
|
|
<bb 2> [local count: 114863532]:
|
|
# DEBUG BEGIN_STMT
|
|
ConfigPtr_21 = pPort_Setting;
|
|
# DEBUG ConfigPtr => ConfigPtr_21
|
|
# DEBUG BEGIN_STMT
|
|
MaxPinConfigured_22 = u32MaxPinConfigured;
|
|
# DEBUG MaxPinConfigured => MaxPinConfigured_22
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG u32MscrBase => 1076429376
|
|
# DEBUG BEGIN_STMT
|
|
base.5_1 = (long unsigned int) base_23(D);
|
|
_2 = base.5_1 + 3218537920;
|
|
portNumber_24 = _2 >> 6;
|
|
# DEBUG portNumber => portNumber_24
|
|
# DEBUG BEGIN_STMT
|
|
_3 = portNumber_24 << 4;
|
|
_4 = (long unsigned int) pin_25(D);
|
|
u32MscrId_26 = _3 + _4;
|
|
# DEBUG u32MscrId => u32MscrId_26
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG u16PinIdx => 0
|
|
goto <bb 11>; [100.00%]
|
|
|
|
<bb 3> [local count: 1014686025]:
|
|
# DEBUG BEGIN_STMT
|
|
_6 = _15 * 64;
|
|
_7 = ConfigPtr_21 + _6;
|
|
_8 = _7->pinPortIdx;
|
|
if (_8 == u32MscrId_26)
|
|
goto <bb 4>; [5.50%]
|
|
else
|
|
goto <bb 10>; [94.50%]
|
|
|
|
<bb 4> [local count: 55807731]:
|
|
# _5 = PHI <_7(3)>
|
|
# _14 = PHI <_8(3)>
|
|
# DEBUG BEGIN_STMT
|
|
_9 = _5->base;
|
|
config_28(D)->base = _9;
|
|
# DEBUG BEGIN_STMT
|
|
config_28(D)->pinPortIdx = _14;
|
|
# DEBUG BEGIN_STMT
|
|
_10 = _5->initValue;
|
|
config_28(D)->initValue = _10;
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG inputMuxIterator => 0
|
|
goto <bb 6>; [100.00%]
|
|
|
|
<bb 5> [local count: 446512084]:
|
|
# DEBUG BEGIN_STMT
|
|
_11 = (int) inputMuxIterator_17;
|
|
_12 = _5->inputMuxReg[_11];
|
|
config_28(D)->inputMuxReg[_11] = _12;
|
|
# DEBUG BEGIN_STMT
|
|
_13 = _5->inputMux[_11];
|
|
config_28(D)->inputMux[_11] = _13;
|
|
# DEBUG BEGIN_STMT
|
|
inputMuxIterator_35 = inputMuxIterator_17 + 1;
|
|
# DEBUG inputMuxIterator => inputMuxIterator_35
|
|
|
|
<bb 6> [local count: 502319816]:
|
|
# inputMuxIterator_17 = PHI <0(4), inputMuxIterator_35(5)>
|
|
# DEBUG inputMuxIterator => inputMuxIterator_17
|
|
# DEBUG BEGIN_STMT
|
|
if (inputMuxIterator_17 != 8)
|
|
goto <bb 5>; [88.89%]
|
|
else
|
|
goto <bb 7>; [11.11%]
|
|
|
|
<bb 7> [local count: 55807732]:
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG config => config_28(D)
|
|
# DEBUG base => base_23(D)
|
|
# DEBUG pin => pin_25(D)
|
|
# DEBUG INLINE_ENTRY Siul2_Port_Ip_GetMSCRConfiguration
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG u32RegVal => 4294967295
|
|
# DEBUG BEGIN_STMT
|
|
# DEBUG BEGIN_STMT
|
|
_36 = (int) pin_25(D);
|
|
u32RegVal_37 ={v} base_23(D)->MSCR[_36];
|
|
# DEBUG u32RegVal => u32RegVal_37
|
|
# DEBUG BEGIN_STMT
|
|
_38 = (unsigned char) u32RegVal_37;
|
|
_39 = _38 & 7;
|
|
config_28(D)->mux = _39;
|
|
# DEBUG BEGIN_STMT
|
|
_40 = u32RegVal_37 >> 5;
|
|
_41 = _40 & 1;
|
|
_42 = (<unnamed type>) _41;
|
|
config_28(D)->safeMode = _42;
|
|
# DEBUG BEGIN_STMT
|
|
_43 = u32RegVal_37 & 8192;
|
|
if (_43 == 0)
|
|
goto <bb 9>; [50.00%]
|
|
else
|
|
goto <bb 8>; [50.00%]
|
|
|
|
<bb 8> [local count: 27903866]:
|
|
# DEBUG BEGIN_STMT
|
|
_44 = u32RegVal_37 >> 11;
|
|
_45 = _44 & 1;
|
|
pullValue_46 = (Siul2_Port_Ip_PortPullConfig) _45;
|
|
# DEBUG pullValue => pullValue_46
|
|
|
|
<bb 9> [local count: 55807732]:
|
|
# pullValue_47 = PHI <2(7), pullValue_46(8)>
|
|
# DEBUG pullValue => pullValue_47
|
|
# DEBUG BEGIN_STMT
|
|
config_28(D)->pullConfig = pullValue_47;
|
|
# DEBUG BEGIN_STMT
|
|
_48 = u32RegVal_37 >> 14;
|
|
_49 = _48 & 1;
|
|
_50 = (<unnamed type>) _49;
|
|
config_28(D)->slewRateCtrlSel = _50;
|
|
# DEBUG BEGIN_STMT
|
|
_51 = u32RegVal_37 >> 8;
|
|
_52 = _51 & 1;
|
|
_53 = (<unnamed type>) _52;
|
|
config_28(D)->driveStrength = _53;
|
|
# DEBUG BEGIN_STMT
|
|
_54 = u32RegVal_37 >> 6;
|
|
_55 = _54 & 1;
|
|
_56 = (<unnamed type>) _55;
|
|
config_28(D)->inputFilter = _56;
|
|
# DEBUG BEGIN_STMT
|
|
_57 = u32RegVal_37 >> 17;
|
|
_58 = _57 & 1;
|
|
_59 = (<unnamed type>) _58;
|
|
config_28(D)->invert = _59;
|
|
# DEBUG BEGIN_STMT
|
|
_60 = u32RegVal_37 >> 16;
|
|
_61 = _60 & 1;
|
|
_62 = (<unnamed type>) _61;
|
|
config_28(D)->pullKeep = _62;
|
|
# DEBUG BEGIN_STMT
|
|
_63 = u32RegVal_37 >> 19;
|
|
_64 = _63 & 1;
|
|
_65 = (<unnamed type>) _64;
|
|
config_28(D)->inputBuffer = _65;
|
|
# DEBUG BEGIN_STMT
|
|
_66 = u32RegVal_37 >> 21;
|
|
_67 = _66 & 1;
|
|
_68 = (<unnamed type>) _67;
|
|
config_28(D)->outputBuffer = _68;
|
|
goto <bb 12>; [100.00%]
|
|
|
|
<bb 10> [local count: 958878293]:
|
|
# DEBUG BEGIN_STMT
|
|
u16PinIdx_27 = u16PinIdx_16 + 1;
|
|
# DEBUG u16PinIdx => u16PinIdx_27
|
|
|
|
<bb 11> [local count: 1073741824]:
|
|
# u16PinIdx_16 = PHI <0(2), u16PinIdx_27(10)>
|
|
# DEBUG u16PinIdx => u16PinIdx_16
|
|
# DEBUG BEGIN_STMT
|
|
_15 = (long unsigned int) u16PinIdx_16;
|
|
if (_15 < MaxPinConfigured_22)
|
|
goto <bb 3>; [94.50%]
|
|
else
|
|
goto <bb 12>; [5.50%]
|
|
|
|
<bb 12> [local count: 114863532]:
|
|
# DEBUG config => NULL
|
|
# DEBUG base => NULL
|
|
# DEBUG pin => NULL
|
|
# DEBUG pullValue => NULL
|
|
# DEBUG u32RegVal => NULL
|
|
return;
|
|
|
|
}
|
|
|
|
|