IPA function summary for Port_Ipw_RefreshPortDirection/15 inlinable
  global time:     146.590910
  self size:       32
  global size:     32
  min size:       0
  self stack:      0
  global stack:    0
    size:27.000000, time:135.500001
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:0.500000, time:4.045455,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:4.045455,  nonconst if:(op0[ref offset: 128] changed)
  loop iterations:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Port_Ipw_SetGpioPadOutput/14 inlinable
  global time:     13.300000
  self size:       16
  global size:     16
  min size:       0
  self stack:      0
  global stack:    0
    size:10.000000, time:8.300000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op1[ref offset: 128] changed)
    size:1.000000, time:1.000000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op1[ref offset: 128] changed || op0 changed)
  calls:

IPA function summary for Port_Ipw_SetGpioDirChangeability/13 inlinable
  global time:     30.660000
  self size:       16
  global size:     16
  min size:       4
  self stack:      0
  global stack:    0
    size:2.000000, time:2.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
    size:2.000000, time:1.320000,  executed if:(op2 != 1),  nonconst if:(op1 changed) && (op2 != 1)
    size:1.000000, time:0.660000,  executed if:(op2 != 1)
    size:1.000000, time:0.340000,  executed if:(op2 == 1),  nonconst if:(op1 changed) && (op2 == 1)
    size:1.000000, time:0.340000,  executed if:(op2 == 1)
  array index:(op1 changed || op0 changed)
  calls:
    SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10
    SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10

IPA function summary for Port_Ipw_SetPinMode/12 inlinable
  global time:     29.392338
  self size:       52
  global size:     52
  min size:       30
  self stack:      0
  global stack:    0
    size:9.000000, time:6.026700
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 128] changed)
    size:2.000000, time:1.670000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2[ref offset: 128] changed || op0 changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 0] changed)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed || op2[ref offset: 0] changed)
    size:0.500000, time:0.335000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 224] changed) && (not inlined)
    size:0.500000, time:0.335000,  nonconst if:(op2[ref offset: 224] changed)
    size:1.000000, time:0.670000,  nonconst if:(op0 changed || op2[ref offset: 224] changed)
    size:2.000000, time:0.601526,  nonconst if:(op1 changed)
    size:8.000000, time:1.563968,  executed if:(op1 <= 20)
  calls:
    Port_Ipw_SetMode/4 function not considered for inlining
      loop depth: 0 freq:0.09 size: 6 time: 15callee size:19 stack: 0 predicate: (op1 <= 20)
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.15 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.22 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.33 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant

IPA function summary for Port_Ipw_SetPinDirection/11 inlinable
  global time:     29.787785
  self size:       56
  global size:     56
  min size:       20
  self stack:      0
  global stack:    0
    size:22.000000, time:10.363074
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 128] changed)
    size:2.000000, time:1.670000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2[ref offset: 128] changed || op0 changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 0] changed)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed || op2[ref offset: 0] changed)
    size:0.500000, time:0.335000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 224] changed) && (not inlined)
    size:0.500000, time:0.335000,  nonconst if:(op2[ref offset: 224] changed)
    size:1.000000, time:0.670000,  nonconst if:(op0 changed || op2[ref offset: 224] changed)
    size:2.000000, time:0.601526,  nonconst if:(op1 changed)
    size:2.000000, time:0.397007,  executed if:(op1 != 1),  nonconst if:(op1 changed) && (op1 != 1)
    size:2.000000, time:0.198504,  executed if:(op1 != 0) && (op1 != 1),  nonconst if:(op1 changed) && (op1 != 0) && (op1 != 1)
    size:1.000000, time:0.065506,  executed if:(op1 != 2) && (op1 != 0) && (op1 != 1)
    size:1.000000, time:0.033746,  executed if:(op1 == 2) && (op1 != 0) && (op1 != 1)
    size:2.000000, time:0.198504,  executed if:(op1 == 0) && (op1 != 1)
    size:2.000000, time:0.204519,  executed if:(op1 == 1)
  calls:
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.22 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.33 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant

IPA function summary for Port_Ipw_Init/10 inlinable
  global time:     347.115129
  self size:       34
  global size:     34
  min size:       10
  self stack:      0
  global stack:    0
    size:24.000000, time:303.930735
    size:4.000000, time:19.184395,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 288] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 288] changed)
  calls:
    Port_Ipw_Init_UnusedPins/2 function not considered for inlining
      loop depth: 0 freq:1.00 size: 2 time: 11callee size:13 stack: 0
    Siul2_Port_Ip_Init/16 function body not available
      loop depth: 0 freq:1.00 size: 3 time: 12
       op0 is compile time invariant

IPA function summary for Port_Ipw_SetAltMode/9 inlinable
  global time:     11.000000
  self size:       12
  global size:     12
  min size:       0
  self stack:      0
  global stack:    0
    size:8.000000, time:8.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
  array index:(op0 changed)
  calls:

IPA function summary for Port_Ipw_SetOnlyInputMode/8 inlinable
  global time:     23.000000
  self size:       15
  global size:     15
  min size:       8
  self stack:      0
  global stack:    0
    size:7.000000, time:7.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
  array index:(op0 changed)
  calls:
    Port_Ipw_SetGpioDirChangeability/13 function not considered for inlining
      loop depth: 0 freq:1.00 size: 4 time: 13callee size: 8 stack: 0
       op2 is compile time invariant

IPA function summary for Port_Ipw_SetGpioMode/7 inlinable
  global time:     47.790205
  self size:       38
  global size:     38
  min size:       28
  self stack:      0
  global stack:    0
    size:18.500000, time:13.892800
    size:3.500000, time:2.500000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:
    Port_Ipw_SetPinDirection/11 function not considered for inlining
      loop depth: 0 freq:1.00 size: 4 time: 13callee size:28 stack: 0
       op0 change 99.990000% of time
       op1 change 99.990000% of time
       op2 change 99.990000% of time
    Port_Ipw_SetGpioPadOutput/14 function not considered for inlining
      loop depth: 0 freq:0.08 size: 3 time: 12callee size: 8 stack: 0
    Port_Ipw_SetGpioPadOutput/14 function not considered for inlining
      loop depth: 0 freq:0.20 size: 3 time: 12callee size: 8 stack: 0
    Port_Ipw_SetGpioDirChangeability/13 function not considered for inlining
      loop depth: 0 freq:1.00 size: 4 time: 13callee size: 8 stack: 0
       op2 is compile time invariant

IPA function summary for Port_Ipw_SetInputMode/6 inlinable
  global time:     40.000000
  self size:       32
  global size:     32
  min size:       8
  self stack:      0
  global stack:    0
    size:23.000000, time:23.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
  array index:(op0 changed)
  calls:
    Port_Ipw_SetGpioDirChangeability/13 function not considered for inlining
      loop depth: 0 freq:1.00 size: 4 time: 13callee size: 8 stack: 0
       op2 is compile time invariant

IPA function summary for Port_Ipw_SetInoutMode/5 inlinable
  global time:     48.000000
  self size:       31
  global size:     31
  min size:       18
  self stack:      0
  global stack:    0
    size:16.000000, time:16.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
  array index:(op0 changed)
  calls:
    Port_Ipw_SetGpioDirChangeability/13 function not considered for inlining
      loop depth: 0 freq:1.00 size: 4 time: 13callee size: 8 stack: 0
       op2 is compile time invariant
    Port_Ipw_GetIndexForInoutEntry/3 function not considered for inlining
      loop depth: 0 freq:1.00 size: 5 time: 14callee size: 8 stack: 0

IPA function summary for Port_Ipw_SetMode/4 inlinable
  global time:     19.003000
  self size:       39
  global size:     39
  min size:       8
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000400,  executed if:(not inlined)
    size:12.000000, time:4.000000,  nonconst if:(op3 changed)
  calls:
    Port_Ipw_SetGpioDirChangeability/13 function not considered for inlining
      loop depth: 0 freq:0.17 size: 4 time: 13callee size: 8 stack: 0
       op2 is compile time invariant
    Port_Ipw_SetAltMode/9 function not considered for inlining
      loop depth: 0 freq:0.17 size: 4 time: 13callee size: 6 stack: 0 predicate: (op3 <= 6) && (op3 >= 1)
    Port_Ipw_SetOnlyInputMode/8 function not considered for inlining
      loop depth: 0 freq:0.17 size: 3 time: 12callee size: 7 stack: 0 predicate: (op3 == 7)
    Port_Ipw_SetGpioMode/7 function not considered for inlining
      loop depth: 0 freq:0.17 size: 5 time: 14callee size:19 stack: 0 predicate: (op3 == 0)
    Port_Ipw_SetInputMode/6 function not considered for inlining
      loop depth: 0 freq:0.17 size: 4 time: 13callee size:16 stack: 0 predicate: (op3 <= 14) && (op3 >= 8)
    Port_Ipw_SetInoutMode/5 function not considered for inlining
      loop depth: 0 freq:0.17 size: 4 time: 13callee size:15 stack: 0 predicate: (op3 <= 20) && (op3 >= 15)

IPA function summary for Port_Ipw_GetIndexForInoutEntry/3 inlinable
  global time:     147.328339
  self size:       16
  global size:     16
  min size:       0
  self stack:      0
  global stack:    0
    size:13.000000, time:145.328339
    size:3.000000, time:2.000000,  executed if:(not inlined)
  array index:(op0 changed)
  calls:

IPA function summary for Port_Ipw_Init_UnusedPins/2 inlinable
  global time:     156.063635
  self size:       27
  global size:     27
  min size:       0
  self stack:      0
  global stack:    0
    size:21.500000, time:148.018180
    size:3.500000, time:6.045454,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 16] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 16] changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 96] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 96] changed)
  loop iterations:(op0[ref offset: 16] changed)
  calls:


Flattening functions:
Overall time estimate: 1089.031343 weighted by profile: 0.000000

Deciding on inlining of small functions.  Starting with size 0.
Enqueueing calls in Port_Ipw_RefreshPortDirection/15.
Enqueueing calls in Port_Ipw_SetGpioPadOutput/14.
Enqueueing calls in Port_Ipw_SetGpioDirChangeability/13.
Enqueueing calls in Port_Ipw_SetPinMode/12.
Enqueueing calls in Port_Ipw_SetPinDirection/11.
Enqueueing calls in Port_Ipw_Init/10.
Enqueueing calls in Port_Ipw_SetAltMode/9.
Enqueueing calls in Port_Ipw_SetOnlyInputMode/8.
Enqueueing calls in Port_Ipw_SetGpioMode/7.
Enqueueing calls in Port_Ipw_SetInputMode/6.
Enqueueing calls in Port_Ipw_SetInoutMode/5.
Enqueueing calls in Port_Ipw_SetMode/4.
Enqueueing calls in Port_Ipw_GetIndexForInoutEntry/3.
Enqueueing calls in Port_Ipw_Init_UnusedPins/2.

Considering Port_Ipw_Init_UnusedPins/2 with 27 size
 to be inlined into Port_Ipw_Init/10 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:835
 Estimated badness is -0.499961, frequency 1.00.

Considering Port_Ipw_SetAltMode/9 with 12 size
 to be inlined into Port_Ipw_SetMode/4 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:511
 Estimated badness is -0.363709, frequency 0.17.

Considering Port_Ipw_GetIndexForInoutEntry/3 with 16 size
 to be inlined into Port_Ipw_SetInoutMode/5 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:555
 Estimated badness is -0.205128, frequency 1.00.

Considering Port_Ipw_SetOnlyInputMode/8 with 15 size
 to be inlined into Port_Ipw_SetMode/4 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:499
 Estimated badness is -0.172874, frequency 0.17.

Considering Port_Ipw_SetInputMode/6 with 32 size
 to be inlined into Port_Ipw_SetMode/4 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:488
 Estimated badness is -0.050010, frequency 0.17.

Considering Port_Ipw_SetGpioMode/7 with 38 size
 to be inlined into Port_Ipw_SetMode/4 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:494
 Estimated badness is -0.042521, frequency 0.17.

Considering Port_Ipw_SetInoutMode/5 with 39 size
 to be inlined into Port_Ipw_SetMode/4 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:476
 Estimated badness is -0.035218, frequency 0.17.

Considering Port_Ipw_SetMode/4 with 140 size
 to be inlined into Port_Ipw_SetPinMode/12 in C:/NXP/SW32_RTD_4.4_4.0.0/eclipse/plugins/Port_TS_T40D11M40I0R0/src/Port_Ipw.c:1012
 Estimated badness is -0.002119, frequency 0.09.

Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:

Deciding on functions to be inlined into all callers and removing useless speculations:
Overall time estimate: 738.563755 weighted by profile: 0.000000

Why inlining failed?
function body not available                       :        8 calls, 4.250337 freq, 0 count
--param max-inline-insns-auto limit reached       :        1 calls, 0.015568 freq, 0 count
call is unlikely and code size would grow         :        7 calls, 0.082247 freq, 0 count
IPA function summary for Port_Ipw_RefreshPortDirection/15 inlinable
  global time:     146.590910
  self size:       32
  global size:     32
  min size:       0
  self stack:      0
  global stack:    0
    size:27.000000, time:135.500001
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 0] changed)
    size:0.500000, time:4.045455,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:4.045455,  nonconst if:(op0[ref offset: 128] changed)
  loop iterations:(op0[ref offset: 0] changed)
  calls:

IPA function summary for Port_Ipw_SetGpioPadOutput/14 inlinable
  global time:     13.300000
  self size:       16
  global size:     16
  min size:       10
  self stack:      0
  global stack:    0
  estimated growth:20
    size:10.000000, time:8.300000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op1[ref offset: 128] changed)
    size:1.000000, time:1.000000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op1[ref offset: 128] changed || op0 changed)
  calls:

IPA function summary for Port_Ipw_SetGpioDirChangeability/13 inlinable
  global time:     30.660000
  self size:       16
  global size:     16
  min size:       2
  self stack:      0
  global stack:    0
  estimated growth:24
    size:2.000000, time:2.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:2.000000, time:2.000000,  nonconst if:(op2 changed)
    size:2.000000, time:1.320000,  executed if:(op2 != 1),  nonconst if:(op1 changed) && (op2 != 1)
    size:1.000000, time:0.660000,  executed if:(op2 != 1)
    size:1.000000, time:0.340000,  executed if:(op2 == 1),  nonconst if:(op1 changed) && (op2 == 1)
    size:1.000000, time:0.340000,  executed if:(op2 == 1)
  array index:(op1 changed || op0 changed)
  calls:
    SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10
    SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10

IPA function summary for Port_Ipw_SetPinMode/12 inlinable
  global time:     33.091753
  self size:       52
  global size:     183
  min size:       60
  self stack:      0
  global stack:    0
    size:9.000000, time:6.026700
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 128] changed)
    size:2.000000, time:1.670000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2[ref offset: 128] changed || op0 changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 0] changed)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed || op2[ref offset: 0] changed)
    size:0.500000, time:0.335000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 224] changed) && (not inlined)
    size:0.500000, time:0.335000,  nonconst if:(op2[ref offset: 224] changed)
    size:1.000000, time:0.670000,  nonconst if:(op0 changed || op2[ref offset: 224] changed)
    size:2.000000, time:0.601526,  nonconst if:(op1 changed)
    size:8.000000, time:1.563968,  executed if:(op1 <= 20)
    size:12.000000, time:0.373554,  executed if:(op1 <= 20),  nonconst if:(op1 changed) && (op1 <= 20)
    size:9.000000, time:0.140111,  executed if:(op1 >= 1) && (op1 <= 6) && (op1 <= 20)
    size:8.000000, time:0.124543,  executed if:(op1 == 7) && (op1 <= 20)
    size:25.000000, time:0.389196,  executed if:(op1 >= 8) && (op1 <= 14) && (op1 <= 20)
    size:19.500000, time:0.231849,  executed if:(op1 == 0) && (op1 <= 20)
    size:1.000000, time:0.015568,  executed if:(op1 == 0) && (op1 <= 20),  nonconst if:(op1 == 0) && (op0 changed) && (op1 <= 20)
    size:30.000000, time:2.527103,  executed if:(op1 >= 15) && (op1 <= 20)
    size:2.000000, time:0.031136,  executed if:(op1 >= 15) && (op1 <= 20),  nonconst if:(op1 >= 15) && (op1 changed) && (op1 <= 20)
  calls:
    Port_Ipw_SetMode/4 inlined
      loop depth: 0 freq:0.09 size: 6 time: 15callee size:70 stack: 0
      Stack frame offset 0, callee self size 0, callee size 0
      Port_Ipw_SetGpioDirChangeability/13 call is unlikely and code size would grow
        loop depth: 0 freq:0.02 size: 4 time: 13callee size: 8 stack: 0 predicate: (op1 <= 20)
         op2 is compile time invariant
      Port_Ipw_SetAltMode/9 inlined
        loop depth: 0 freq:0.02 size: 4 time: 13callee size: 6 stack: 0
        Stack frame offset 0, callee self size 0, callee size 0
      Port_Ipw_SetOnlyInputMode/8 inlined
        loop depth: 0 freq:0.02 size: 3 time: 12callee size: 7 stack: 0
        Stack frame offset 0, callee self size 0, callee size 0
        Port_Ipw_SetGpioDirChangeability/13 call is unlikely and code size would grow
          loop depth: 0 freq:0.02 size: 4 time: 13callee size: 8 stack: 0 predicate: (op1 == 7) && (op1 <= 20)
           op2 is compile time invariant
      Port_Ipw_SetGpioMode/7 inlined
        loop depth: 0 freq:0.02 size: 5 time: 14callee size:19 stack: 0
        Stack frame offset 0, callee self size 0, callee size 0
        Port_Ipw_SetPinDirection/11 --param max-inline-insns-auto limit reached
          loop depth: 0 freq:0.02 size: 4 time: 13callee size:28 stack: 0 predicate: (op1 == 0) && (op1 <= 20)
           op0 change 99.990000% of time
           op1 change 99.990000% of time
           op2 change 99.990000% of time
        Port_Ipw_SetGpioPadOutput/14 call is unlikely and code size would grow
          loop depth: 0 freq:0.00 size: 3 time: 12callee size: 8 stack: 0 predicate: (op1 == 0) && (op1 <= 20)
        Port_Ipw_SetGpioPadOutput/14 call is unlikely and code size would grow
          loop depth: 0 freq:0.00 size: 3 time: 12callee size: 8 stack: 0 predicate: (op1 == 0) && (op1 <= 20)
        Port_Ipw_SetGpioDirChangeability/13 call is unlikely and code size would grow
          loop depth: 0 freq:0.02 size: 4 time: 13callee size: 8 stack: 0 predicate: (op1 == 0) && (op1 <= 20)
           op2 is compile time invariant
      Port_Ipw_SetInputMode/6 inlined
        loop depth: 0 freq:0.02 size: 4 time: 13callee size:16 stack: 0
        Stack frame offset 0, callee self size 0, callee size 0
        Port_Ipw_SetGpioDirChangeability/13 call is unlikely and code size would grow
          loop depth: 0 freq:0.02 size: 4 time: 13callee size: 8 stack: 0 predicate: (op1 >= 8) && (op1 <= 14) && (op1 <= 20)
           op2 is compile time invariant
      Port_Ipw_SetInoutMode/5 inlined
        loop depth: 0 freq:0.02 size: 4 time: 13callee size:19 stack: 0
        Stack frame offset 0, callee self size 0, callee size 0
        Port_Ipw_SetGpioDirChangeability/13 call is unlikely and code size would grow
          loop depth: 0 freq:0.02 size: 4 time: 13callee size: 8 stack: 0 predicate: (op1 >= 15) && (op1 <= 20)
           op2 is compile time invariant
        Port_Ipw_GetIndexForInoutEntry/3 inlined
          loop depth: 0 freq:0.02 size: 5 time: 14callee size: 8 stack: 0
          Stack frame offset 0, callee self size 0, callee size 0
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.15 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.22 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.33 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant

IPA function summary for Port_Ipw_SetPinDirection/11 inlinable
  global time:     29.787785
  self size:       56
  global size:     56
  min size:       22
  self stack:      0
  global stack:    0
  estimated growth:48
    size:22.000000, time:10.363074
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 128] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 128] changed)
    size:2.000000, time:1.670000,  nonconst if:(op0 changed)
    size:1.000000, time:1.000000,  nonconst if:(op2[ref offset: 128] changed || op0 changed)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 0] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op2[ref offset: 0] changed)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed || op2[ref offset: 0] changed)
    size:0.500000, time:0.335000,  executed if:(not inlined),  nonconst if:(op2[ref offset: 224] changed) && (not inlined)
    size:0.500000, time:0.335000,  nonconst if:(op2[ref offset: 224] changed)
    size:1.000000, time:0.670000,  nonconst if:(op0 changed || op2[ref offset: 224] changed)
    size:2.000000, time:0.601526,  nonconst if:(op1 changed)
    size:2.000000, time:0.397007,  executed if:(op1 != 1),  nonconst if:(op1 changed) && (op1 != 1)
    size:2.000000, time:0.198504,  executed if:(op1 != 0) && (op1 != 1),  nonconst if:(op1 changed) && (op1 != 0) && (op1 != 1)
    size:1.000000, time:0.065506,  executed if:(op1 != 2) && (op1 != 0) && (op1 != 1)
    size:1.000000, time:0.033746,  executed if:(op1 == 2) && (op1 != 0) && (op1 != 1)
    size:2.000000, time:0.198504,  executed if:(op1 == 0) && (op1 != 1)
    size:2.000000, time:0.204519,  executed if:(op1 == 1)
  calls:
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.22 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    Det_ReportError/18 function body not available
      loop depth: 0 freq:0.33 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant

IPA function summary for Port_Ipw_Init/10 inlinable
  global time:     485.133307
  self size:       34
  global size:     55
  min size:       16
  self stack:      0
  global stack:    0
    size:46.500000, time:452.948912
    size:4.000000, time:19.184395,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 288] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 288] changed)
  calls:
    Port_Ipw_Init_UnusedPins/2 inlined
      loop depth: 0 freq:1.00 size: 2 time: 11callee size:13 stack: 0
      Stack frame offset 0, callee self size 0, callee size 0
    Siul2_Port_Ip_Init/16 function body not available
      loop depth: 0 freq:1.00 size: 3 time: 12
       op0 is compile time invariant

Symbol table:

SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00) @07038c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00) @07038b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetGpioDirChangeability/13 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Port_apInMuxSettings/23 (Port_apInMuxSettings) @07076750
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInputMode/6 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apInMuxSettingsIndex/22 (Port_apInMuxSettingsIndex) @07076708
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInputMode/6 (read)
  Availability: not_available
  Varpool flags: read-only
Port_au16NumInoutMuxSettings/21 (Port_au16NumInoutMuxSettings) @070765e8
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_GetIndexForInoutEntry/3 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apInoutMuxSettings/20 (Port_apInoutMuxSettings) @07076240
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_GetIndexForInoutEntry/3 (read)Port_Ipw_SetInoutMode/5 (read)
  Availability: not_available
  Varpool flags: read-only
Port_apSiul2InstancePinModeAvailability/19 (Port_apSiul2InstancePinModeAvailability) @0703abd0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetPinMode/12 (read)
  Availability: not_available
  Varpool flags: read-only
Det_ReportError/18 (Det_ReportError) @070381c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_SetPinMode/12 (159060893 (estimated locally),0.15 per call) Port_Ipw_SetPinMode/12 (237404317 (estimated locally),0.22 per call) Port_Ipw_SetPinMode/12 (354334802 (estimated locally),0.33 per call) Port_Ipw_SetPinDirection/11 (237404317 (estimated locally),0.22 per call) Port_Ipw_SetPinDirection/11 (354334802 (estimated locally),0.33 per call) 
  Calls: 
Port_au32Siul2BaseAddr/17 (Port_au32Siul2BaseAddr) @0703a090
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Port_Ipw_SetInoutMode/5 (read)Port_Ipw_SetGpioPadOutput/14 (read)Port_Ipw_Init_UnusedPins/2 (read)Port_Ipw_Init_UnusedPins/2 (read)Port_Ipw_SetInputMode/6 (read)Port_Ipw_SetInoutMode/5 (read)Port_Ipw_SetAltMode/9 (read)Port_Ipw_SetOnlyInputMode/8 (read)Port_Ipw_SetGpioMode/7 (read)Port_Ipw_SetPinDirection/11 (read)Port_Ipw_SetInputMode/6 (read)Port_Ipw_RefreshPortDirection/15 (read)
  Availability: not_available
  Varpool flags: read-only
Siul2_Port_Ip_Init/16 (Siul2_Port_Ip_Init) @07023e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Port_Ipw_Init/10 (41279180 (estimated locally),1.00 per call) 
  Calls: 
Port_Ipw_RefreshPortDirection/15 (Port_Ipw_RefreshPortDirection) @070230e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: 
Port_Ipw_SetGpioPadOutput/14 (Port_Ipw_SetGpioPadOutput) @07023d20
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetGpioMode/7 (1349255 (estimated locally),0.00 per call) Port_Ipw_SetGpioMode/7 (3383288 (estimated locally),0.00 per call) 
  Calls: 
Port_Ipw_SetGpioDirChangeability/13 (Port_Ipw_SetGpioDirChangeability) @07023a80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (read)Port_Ipw_au16GPIODirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetMode/4 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetGpioMode/7 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetOnlyInputMode/8 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetInputMode/6 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetInoutMode/5 (16715850 (estimated locally),0.02 per call) 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00/25 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00/24 (1073741824 (estimated locally),1.00 per call) 
Port_Ipw_SetPinMode/12 (Port_Ipw_SetPinMode) @070237e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_apSiul2InstancePinModeAvailability/19 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_SetMode/4 (inlined) (100275047 (estimated locally),0.09 per call) Det_ReportError/18 (159060893 (estimated locally),0.15 per call) Det_ReportError/18 (237404317 (estimated locally),0.22 per call) Det_ReportError/18 (354334802 (estimated locally),0.33 per call) 
Port_Ipw_SetPinDirection/11 (Port_Ipw_SetPinDirection) @07023540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: Port_Ipw_SetGpioMode/7 (16715850 (estimated locally),0.02 per call) 
  Calls: Det_ReportError/18 (237404317 (estimated locally),0.22 per call) Det_ReportError/18 (354334802 (estimated locally),0.33 per call) 
Port_Ipw_Init/10 (Port_Ipw_Init) @070232a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: Port_Ipw_au16GPIODirChangeability/1 (write)
  Referring: 
  Availability: available
  Function flags: count:41279181 (estimated locally) body optimize_size
  Called by: 
  Calls: Port_Ipw_Init_UnusedPins/2 (inlined) (41279180 (estimated locally),1.00 per call) Siul2_Port_Ip_Init/16 (41279180 (estimated locally),1.00 per call) 
Port_Ipw_SetAltMode/9 (Port_Ipw_SetAltMode) @07023000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_SetAltMode/9 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: 
Port_Ipw_SetOnlyInputMode/8 (Port_Ipw_SetOnlyInputMode) @06ea8a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_SetOnlyInputMode/8 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (16715850 (estimated locally),0.02 per call) 
Port_Ipw_SetGpioMode/7 (Port_Ipw_SetGpioMode) @06ea8540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_SetGpioMode/7 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: Port_Ipw_SetPinDirection/11 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetGpioPadOutput/14 (1349255 (estimated locally),0.00 per call) Port_Ipw_SetGpioPadOutput/14 (3383288 (estimated locally),0.00 per call) Port_Ipw_SetGpioDirChangeability/13 (16715850 (estimated locally),0.02 per call) 
Port_Ipw_SetInputMode/6 (Port_Ipw_SetInputMode) @06ea8ee0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_apInMuxSettingsIndex/22 (read)Port_apInMuxSettings/23 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_SetInputMode/6 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (16715850 (estimated locally),0.02 per call) 
Port_Ipw_SetInoutMode/5 (Port_Ipw_SetInoutMode) @06ea8c40
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_apInoutMuxSettings/20 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_SetInoutMode/5 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetMode/4 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (16715850 (estimated locally),0.02 per call) Port_Ipw_GetIndexForInoutEntry/3 (inlined) (16715850 (estimated locally),0.02 per call) 
Port_Ipw_SetMode/4 (Port_Ipw_SetMode) @06ea89a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Function Port_Ipw_SetMode/4 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:100275047 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetPinMode/12 (inlined) (100275047 (estimated locally),0.09 per call) 
  Calls: Port_Ipw_SetGpioDirChangeability/13 (16715850 (estimated locally),0.02 per call) Port_Ipw_SetAltMode/9 (inlined) (16715850 (estimated locally),0.02 per call) Port_Ipw_SetOnlyInputMode/8 (inlined) (16715850 (estimated locally),0.02 per call) Port_Ipw_SetGpioMode/7 (inlined) (16715850 (estimated locally),0.02 per call) Port_Ipw_SetInputMode/6 (inlined) (16715850 (estimated locally),0.02 per call) Port_Ipw_SetInoutMode/5 (inlined) (16715850 (estimated locally),0.02 per call) 
Port_Ipw_GetIndexForInoutEntry/3 (Port_Ipw_GetIndexForInoutEntry) @06ea8700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_apInoutMuxSettings/20 (read)Port_au16NumInoutMuxSettings/21 (read)
  Referring: 
  Function Port_Ipw_GetIndexForInoutEntry/3 is inline copy in Port_Ipw_SetPinMode/12
  Availability: local
  Function flags: count:16715850 (estimated locally) body local optimize_size
  Called by: Port_Ipw_SetInoutMode/5 (inlined) (16715850 (estimated locally),0.02 per call) 
  Calls: 
Port_Ipw_Init_UnusedPins/2 (Port_Ipw_Init_UnusedPins) @06ea8460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/17 (read)Port_au32Siul2BaseAddr/17 (read)
  Referring: 
  Function Port_Ipw_Init_UnusedPins/2 is inline copy in Port_Ipw_Init/10
  Availability: local
  Function flags: count:41279180 (estimated locally) body local optimize_size
  Called by: Port_Ipw_Init/10 (inlined) (41279180 (estimated locally),1.00 per call) 
  Calls: 
Port_Ipw_au16GPIODirChangeability/1 (Port_Ipw_au16GPIODirChangeability) @06ea3510
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Port_Ipw_Init/10 (write)Port_Ipw_SetPinDirection/11 (read)Port_Ipw_SetGpioDirChangeability/13 (read)Port_Ipw_SetGpioDirChangeability/13 (write)
  Availability: available
  Varpool flags:

;; Function Port_Ipw_Init (Port_Ipw_Init, funcdef_no=9, decl_uid=6177, cgraph_uid=10, symbol_order=10)


Symbols to be put in SSA form
{ D.6626 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 27
Number of blocks to update: 26 ( 96%)


Merging blocks 12 and 21
Removing basic block 18
Removing basic block 19
Removing basic block 20
Removing basic block 26
;; 6 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
;;
;; Loop 2
;;  header 20, latch 19
;;  depth 1, outer 0
;;  nodes: 20 19 18 17
;;
;; Loop 3
;;  header 18, latch 17
;;  depth 2, outer 2
;;  nodes: 18 17
;;
;; Loop 5
;;  header 16, latch 15
;;  depth 1, outer 0
;;  nodes: 16 15 13 14
;;
;; Loop 1
;;  header 11, latch 10
;;  depth 1, outer 0
;;  nodes: 11 10 9 8 3 6 7 4 5
;;
;; Loop 4
;;  header 9, latch 8
;;  depth 2, outer 1
;;  nodes: 9 8 3 6 7 4 5
;; 2 succs { 11 }
;; 3 succs { 4 8 }
;; 4 succs { 6 5 }
;; 5 succs { 6 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 9 }
;; 9 succs { 3 10 }
;; 10 succs { 11 }
;; 11 succs { 9 12 }
;; 12 succs { 16 }
;; 13 succs { 14 15 }
;; 14 succs { 15 }
;; 15 succs { 16 }
;; 16 succs { 13 20 }
;; 17 succs { 18 }
;; 18 succs { 17 19 }
;; 19 succs { 20 }
;; 20 succs { 18 21 }
;; 21 succs { 1 }
Port_Ipw_Init (const struct Port_ConfigType * pConfigPtr)
{
  uint16 u16PinIndex;
  uint16 u16NumUnusedPins;
  uint8 u8LocalPDO;
  uint32 u32LocalMSCR;
  uint16 u16MscrIdx;
  uint8 u8MscrSiulInstance;
  struct SIUL2_Type * imcrBase;
  uint8 u8Imcr;
  uint16 u16ImcrIdx;
  uint8 u8ImcrSiulInstance;
  uint16 u16Counter;
  const Port_Siul2_ImcrConfigType * _1;
  sizetype _2;
  const Port_Siul2_ImcrConfigType * _3;
  unsigned int _4;
  int _5;
  short unsigned int _6;
  const struct Siul2_Port_Ip_PinSettingsConfig * _7;
  int _8;
  int _9;
  short unsigned int _20;
  const struct Port_Siul2_UnUsedPinConfigType * _33;
  const struct Port_Siul2_UnUsedPinType * _36;
  unsigned int _38;
  unsigned int _39;
  const struct Port_Siul2_UnUsedPinType * _40;
  int _43;
  long unsigned int _44;
  short unsigned int _45;
  long unsigned int _46;
  long unsigned int _47;
  long unsigned int _48;
  volatile uint8 * _49;
  int _50;
  long unsigned int _51;
  long unsigned int _52;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _55;
  volatile uint32 * _56;

  <bb 2> [local count: 41279182]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1074380800B
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  goto <bb 11>; [100.00%]

  <bb 3> [local count: 668072396]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_22(D)->pImcrConfig[_5];
  _2 = (sizetype) u16ImcrIdx_13;
  _3 = _1 + _2;
  u8Imcr_29 = *_3;
  # DEBUG u8Imcr => u8Imcr_29
  # DEBUG BEGIN_STMT
  if (u8Imcr_29 != 255)
    goto <bb 4>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 4> [local count: 440927781]:
  # DEBUG BEGIN_STMT
  if (u16ImcrIdx_13 <= 83)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 220463890]:
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1140916224B

  <bb 6> [local count: 440927781]:
  # imcrBase_14 = PHI <1074380800B(4), 1140916224B(5)>
  # DEBUG imcrBase => imcrBase_14
  # DEBUG BEGIN_STMT
  if (u16ImcrIdx_13 <= 495)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 220463890]:
  # DEBUG BEGIN_STMT
  _20 = u16ImcrIdx_13 & 511;
  _4 = (unsigned int) _20;
  imcrBase_14->IMCR[_4] ={v} 0;

  <bb 8> [local count: 668072396]:
  # DEBUG BEGIN_STMT
  u16ImcrIdx_31 = u16ImcrIdx_13 + 1;
  # DEBUG u16ImcrIdx => u16ImcrIdx_31

  <bb 9> [local count: 750643141]:
  # u16ImcrIdx_13 = PHI <u16ImcrIdx_31(8), 0(11)>
  # DEBUG u16ImcrIdx => u16ImcrIdx_13
  # DEBUG BEGIN_STMT
  _5 = (int) u8ImcrSiulInstance_11;
  _6 = pConfigPtr_22(D)->au16NumImcrs[_5];
  if (_6 > u16ImcrIdx_13)
    goto <bb 3>; [89.00%]
  else
    goto <bb 10>; [11.00%]

  <bb 10> [local count: 82570745]:
  # DEBUG BEGIN_STMT
  u8ImcrSiulInstance_28 = u8ImcrSiulInstance_11 + 1;
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_28

  <bb 11> [local count: 123849927]:
  # u8ImcrSiulInstance_11 = PHI <0(2), u8ImcrSiulInstance_28(10)>
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_11
  # DEBUG BEGIN_STMT
  if (u8ImcrSiulInstance_11 != 2)
    goto <bb 9>; [66.67%]
  else
    goto <bb 12>; [33.33%]

  <bb 12> [local count: 41279181]:
  # DEBUG BEGIN_STMT
  _7 = pConfigPtr_22(D)->IpConfigPtr;
  Siul2_Port_Ip_Init (40, _7);
  # DEBUG BEGIN_STMT
  # DEBUG pConfigPtr => pConfigPtr_22(D)
  # DEBUG INLINE_ENTRY Port_Ipw_Init_UnusedPins
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  u16NumUnusedPins_32 = pConfigPtr_22(D)->u16NumUnusedPins;
  # DEBUG u16NumUnusedPins => u16NumUnusedPins_32
  # DEBUG BEGIN_STMT
  _33 = pConfigPtr_22(D)->pUnusedPadConfig;
  u8LocalPDO_34 = _33->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_34
  # DEBUG BEGIN_STMT
  u32LocalMSCR_35 = _33->u32MSCR;
  # DEBUG u32LocalMSCR => u32LocalMSCR_35
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 16>; [100.00%]

  <bb 13> [local count: 333986095]:
  # DEBUG BEGIN_STMT
  _36 = pConfigPtr_22(D)->pUnusedPads;
  _38 = (unsigned int) u16PinIndex_37;
  _39 = _38 * 4;
  _40 = _36 + _39;
  u16MscrIdx_41 = _40->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_41
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_42 = _40->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_42
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_34 != 2)
    goto <bb 14>; [66.00%]
  else
    goto <bb 15>; [34.00%]

  <bb 14> [local count: 220430823]:
  # DEBUG BEGIN_STMT
  _43 = (int) u8MscrSiulInstance_42;
  _44 = Port_au32Siul2BaseAddr[_43];
  _45 = u16MscrIdx_41 ^ 3;
  _46 = (long unsigned int) _45;
  _47 = _44 + _46;
  _48 = _47 + 4864;
  _49 = (volatile uint8 *) _48;
  *_49 ={v} u8LocalPDO_34;

  <bb 15> [local count: 333986095]:
  # DEBUG BEGIN_STMT
  _50 = (int) u8MscrSiulInstance_42;
  _51 = Port_au32Siul2BaseAddr[_50];
  _52 = (long unsigned int) u16MscrIdx_41;
  _53 = _52 << 2;
  _54 = _51 + _53;
  _55 = _54 + 576;
  _56 = (volatile uint32 *) _55;
  *_56 ={v} u32LocalMSCR_35;
  # DEBUG BEGIN_STMT
  u16PinIndex_57 = u16PinIndex_37 + 1;
  # DEBUG u16PinIndex => u16PinIndex_57

  <bb 16> [local count: 375265276]:
  # u16PinIndex_37 = PHI <0(12), u16PinIndex_57(15)>
  # DEBUG u16PinIndex => u16PinIndex_37
  # DEBUG BEGIN_STMT
  if (u16NumUnusedPins_32 > u16PinIndex_37)
    goto <bb 13>; [89.00%]
  else
    goto <bb 20>; [11.00%]

  <bb 17> [local count: 991171079]:
  # DEBUG BEGIN_STMT
  _8 = (int) u8ImcrSiulInstance_12;
  _9 = (int) u16Counter_10;
  Port_Ipw_au16GPIODirChangeability[_8][_9] = 0;
  # DEBUG BEGIN_STMT
  u16Counter_27 = u16Counter_10 + 1;
  # DEBUG u16Counter => u16Counter_27

  <bb 18> [local count: 1073741824]:
  # u16Counter_10 = PHI <u16Counter_27(17), 0(20)>
  # DEBUG u16Counter => u16Counter_10
  # DEBUG BEGIN_STMT
  if (u16Counter_10 != 12)
    goto <bb 17>; [92.31%]
  else
    goto <bb 19>; [7.69%]

  <bb 19> [local count: 82570746]:
  # DEBUG BEGIN_STMT
  u8ImcrSiulInstance_25 = u8ImcrSiulInstance_12 + 1;
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_25

  <bb 20> [local count: 123849927]:
  # u8ImcrSiulInstance_12 = PHI <0(16), u8ImcrSiulInstance_25(19)>
  # DEBUG pConfigPtr => NULL
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG u32LocalMSCR => NULL
  # DEBUG u8LocalPDO => NULL
  # DEBUG u16NumUnusedPins => NULL
  # DEBUG u16PinIndex => NULL
  # DEBUG u8ImcrSiulInstance => NULL
  # DEBUG u8ImcrSiulInstance => u8ImcrSiulInstance_12
  # DEBUG BEGIN_STMT
  if (u8ImcrSiulInstance_12 != 2)
    goto <bb 18>; [66.67%]
  else
    goto <bb 21>; [33.33%]

  <bb 21> [local count: 41279181]:
  return;

}



;; Function Port_Ipw_SetPinDirection (Port_Ipw_SetPinDirection, funcdef_no=10, decl_uid=6181, cgraph_uid=11, symbol_order=11)

Port_Ipw_SetPinDirection (Port_PinType PinIndex, Port_PinDirectionType eDirection, const struct Port_ConfigType * pConfigPtr)
{
  uint16 u16PinChangeDirFlagWord;
  uint8 u8PinDescBitOffset;
  Std_ReturnType PinDirError;
  uint32 u32LocalMSCR;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  short unsigned int _4;
  long unsigned int _5;
  const uint32 * _6;
  long unsigned int _7;
  const uint32 * _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  int _12;
  short unsigned int _13;
  unsigned char _14;
  int _15;
  unsigned char _16;
  int _17;
  long unsigned int _18;
  short unsigned int _19;
  short unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  volatile uint32 * _26;
  long unsigned int _35;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_31(D)->pUsedPadConfig;
  _2 = PinIndex_32(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_33 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_33
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_34 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_34
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG PinDirError => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _4 = pConfigPtr_31(D)->u16NumPins;
  _5 = (long unsigned int) _4;
  if (_5 <= PinIndex_32(D))
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 1, 10);
  goto <bb 16>; [100.00%]

  <bb 4> [local count: 719407022]:
  # DEBUG BEGIN_STMT
  _6 = pConfigPtr_31(D)->pau32Port_PinToPartitionMap;
  _7 = PinIndex_32(D) * 4;
  _8 = _6 + _7;
  _9 = *_8;
  _10 = _9 & 1;
  if (_10 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 237404317]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 1, 240);
  goto <bb 16>; [100.00%]

  <bb 6> [local count: 482002704]:
  # DEBUG BEGIN_STMT
  _11 = (unsigned char) u16MscrIdx_33;
  u8PinDescBitOffset_36 = _11 & 15;
  # DEBUG u8PinDescBitOffset => u8PinDescBitOffset_36
  # DEBUG BEGIN_STMT
  _12 = (int) u8MscrSiulInstance_34;
  _13 = u16MscrIdx_33 >> 4;
  _14 = (unsigned char) _13;
  _15 = (int) _14;
  u16PinChangeDirFlagWord_37 = Port_Ipw_au16GPIODirChangeability[_12][_15];
  # DEBUG u16PinChangeDirFlagWord => u16PinChangeDirFlagWord_37
  # DEBUG BEGIN_STMT
  _16 = _3->bDC;
  if (_16 == 1)
    goto <bb 8>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 7> [local count: 318121785]:
  _17 = (int) u8PinDescBitOffset_36;
  _18 = 1 << _17;
  _19 = (short unsigned int) _18;
  _20 = _19 & u16PinChangeDirFlagWord_37;
  if (_20 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 8> [local count: 322941812]:
  # DEBUG BEGIN_STMT
  _21 = Port_au32Siul2BaseAddr[_12];
  _22 = (long unsigned int) u16MscrIdx_33;
  _23 = _22 << 2;
  _24 = _21 + _23;
  _25 = _24 + 576;
  _26 = (volatile uint32 *) _25;
  u32LocalMSCR_38 ={v} *_26;
  # DEBUG u32LocalMSCR => u32LocalMSCR_38
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 1)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 109800216]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_43 = u32LocalMSCR_38 & 4294443007;
  # DEBUG u32LocalMSCR => u32LocalMSCR_43
  # DEBUG BEGIN_STMT
  u32LocalMSCR_44 = u32LocalMSCR_43 | 2097152;
  # DEBUG u32LocalMSCR => u32LocalMSCR_44
  goto <bb 15>; [100.00%]

  <bb 10> [local count: 213141596]:
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 11> [local count: 106570798]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 | 524288
  # DEBUG BEGIN_STMT
  _35 = u32LocalMSCR_38 & 4292870143;
  u32LocalMSCR_42 = _35 | 524288;
  # DEBUG u32LocalMSCR => u32LocalMSCR_42
  goto <bb 15>; [100.00%]

  <bb 12> [local count: 106570798]:
  # DEBUG BEGIN_STMT
  if (eDirection_39(D) == 2)
    goto <bb 13>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 13> [local count: 36234071]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 | 524288
  # DEBUG BEGIN_STMT
  u32LocalMSCR_41 = u32LocalMSCR_38 | 2621440;
  # DEBUG u32LocalMSCR => u32LocalMSCR_41
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 70336727]:
  # DEBUG BEGIN_STMT
  # DEBUG u32LocalMSCR => u32LocalMSCR_38 & 4294443007
  # DEBUG BEGIN_STMT
  u32LocalMSCR_40 = u32LocalMSCR_38 & 4292345855;
  # DEBUG u32LocalMSCR => u32LocalMSCR_40

  <bb 15> [local count: 322941812]:
  # u32LocalMSCR_27 = PHI <u32LocalMSCR_44(9), u32LocalMSCR_42(11), u32LocalMSCR_41(13), u32LocalMSCR_40(14)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_27
  # DEBUG BEGIN_STMT
  *_26 ={v} u32LocalMSCR_27;

  <bb 16> [local count: 1073741824]:
  # PinDirError_28 = PHI <0(3), 0(5), 0(15), 1(7)>
  # DEBUG PinDirError => PinDirError_28
  # DEBUG BEGIN_STMT
  return PinDirError_28;

}



;; Function Port_Ipw_SetGpioDirChangeability (Port_Ipw_SetGpioDirChangeability, funcdef_no=12, decl_uid=6379, cgraph_uid=13, symbol_order=13)

Port_Ipw_SetGpioDirChangeability (uint8 u8ImcrSiulInstance, uint16 u16MscrIdx, boolean bStatus)
{
  uint8 u8PinBitOffset;
  uint16 u16PinDirFlagWord;
  unsigned char _1;
  int _2;
  unsigned char _3;
  int _4;
  int _5;
  long unsigned int _6;
  short unsigned int _7;
  int _8;
  long unsigned int _9;
  short unsigned int _10;
  short unsigned int _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  _1 = (unsigned char) u16MscrIdx_15(D);
  u8PinBitOffset_16 = _1 & 15;
  # DEBUG u8PinBitOffset => u8PinBitOffset_16
  # DEBUG BEGIN_STMT
  _2 = (int) u8ImcrSiulInstance_17(D);
  _3 = _1 >> 4;
  _4 = (int) _3;
  u16PinDirFlagWord_18 = Port_Ipw_au16GPIODirChangeability[_2][_4];
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_18
  # DEBUG BEGIN_STMT
  if (bStatus_19(D) == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _5 = (int) u8PinBitOffset_16;
  _6 = 1 << _5;
  _7 = (short unsigned int) _6;
  u16PinDirFlagWord_21 = _7 | u16PinDirFlagWord_18;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_21
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _8 = (int) u8PinBitOffset_16;
  _9 = 1 << _8;
  _10 = (short unsigned int) _9;
  _11 = ~_10;
  u16PinDirFlagWord_20 = _11 & u16PinDirFlagWord_18;
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_20

  <bb 5> [local count: 1073741824]:
  # u16PinDirFlagWord_12 = PHI <u16PinDirFlagWord_21(3), u16PinDirFlagWord_20(4)>
  # DEBUG u16PinDirFlagWord => u16PinDirFlagWord_12
  # DEBUG BEGIN_STMT
  Port_Ipw_au16GPIODirChangeability[_2][_4] = u16PinDirFlagWord_12;
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_00 ();
  return;

}



;; Function Port_Ipw_SetGpioPadOutput (Port_Ipw_SetGpioPadOutput, funcdef_no=13, decl_uid=6382, cgraph_uid=14, symbol_order=14)

Port_Ipw_SetGpioPadOutput (Port_PinType PinIndex, const struct Port_ConfigType * pConfigPtr)
{
  uint8 u8LocalPDO;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  int _4;
  long unsigned int _5;
  short unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  volatile uint8 * _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_13(D)->pUsedPadConfig;
  _2 = PinIndex_14(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_15 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_15
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_16 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_16
  # DEBUG BEGIN_STMT
  u8LocalPDO_17 = _3->u8PDO;
  # DEBUG u8LocalPDO => u8LocalPDO_17
  # DEBUG BEGIN_STMT
  if (u8LocalPDO_17 != 2)
    goto <bb 3>; [66.00%]
  else
    goto <bb 4>; [34.00%]

  <bb 3> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _4 = (int) u8MscrSiulInstance_16;
  _5 = Port_au32Siul2BaseAddr[_4];
  _6 = u16MscrIdx_15 ^ 3;
  _7 = (long unsigned int) _6;
  _8 = _5 + _7;
  _9 = _8 + 4864;
  _10 = (volatile uint8 *) _9;
  *_10 ={v} u8LocalPDO_17;

  <bb 4> [local count: 1073741824]:
  return;

}



;; Function Port_Ipw_SetPinMode (Port_Ipw_SetPinMode, funcdef_no=11, decl_uid=6187, cgraph_uid=12, symbol_order=12)


Symbols to be put in SSA form
{ D.6635 D.6731 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 45
Number of blocks to update: 44 ( 98%)


Removing basic block 10
Removing basic block 12
Removing basic block 14
Removing basic block 15
Removing basic block 16
Removing basic block 17
Removing basic block 18
Removing basic block 21
Merging blocks 22 and 24
Merging blocks 29 and 23
Removing basic block 30
Removing basic block 32
Removing basic block 41
Removing basic block 43
;; 2 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 22 23 24 25 26 27 28 29 30
;;
;; Loop 1
;;  header 15, latch 14
;;  depth 1, outer 0
;;  nodes: 15 14 12 13
;; 2 succs { 3 4 }
;; 3 succs { 30 }
;; 4 succs { 5 6 }
;; 5 succs { 30 }
;; 6 succs { 7 8 }
;; 7 succs { 30 }
;; 8 succs { 30 9 }
;; 9 succs { 10 30 }
;; 10 succs { 28 18 27 26 17 11 }
;; 11 succs { 15 }
;; 12 succs { 13 14 }
;; 13 succs { 16 14 }
;; 14 succs { 15 }
;; 15 succs { 12 16 }
;; 16 succs { 29 }
;; 17 succs { 29 }
;; 18 succs { 19 20 }
;; 19 succs { 25 }
;; 20 succs { 21 22 }
;; 21 succs { 25 }
;; 22 succs { 23 24 }
;; 23 succs { 25 }
;; 24 succs { 25 }
;; 25 succs { 29 }
;; 26 succs { 29 }
;; 27 succs { 29 }
;; 28 succs { 29 }
;; 29 succs { 30 }
;; 30 succs { 1 }
Port_Ipw_SetPinMode (Port_PinType PinIndex, Port_PinModeType PinMode, const struct Port_ConfigType * pConfigPtr)
{
  uint32 MscrValue;
  uint32 MscrValue;
  Port_PinDirectionType ePadDirection;
  uint32 MscrValue;
  uint16 u16Index;
  uint32 MscrValue;
  uint32 ImcrValue;
  short unsigned int PadInMuxData$u16ImcrIdx;
  unsigned char PadInMuxData$u8ImcrSSS;
  unsigned char PadInMuxData$u8ImcrSiulInstance;
  uint16 u16ReturnIndex;
  uint16 u16Counter;
  uint16 D.6731;
  uint32 MscrValue;
  uint16 u16Index;
  uint32 ImcrValue;
  short unsigned int PadInoutData$u16ImcrIdx;
  unsigned char PadInoutData$u8ImcrSSS;
  unsigned char PadInoutData$u8ImcrSiulInstance;
  uint8 u8PinDescBitOffset;
  uint16 u16PinDescWord;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  Std_ReturnType PinModeError;
  const struct Port_Siul2_PinConfigType * _1;
  long unsigned int _2;
  const struct Port_Siul2_PinConfigType * _3;
  short unsigned int _4;
  long unsigned int _5;
  const uint32 * _6;
  long unsigned int _7;
  const uint32 * _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  unsigned char _12;
  int _13;
  const uint16[21][12] * _14;
  int _15;
  short unsigned int _16;
  int _17;
  int _18;
  long unsigned int _19;
  short unsigned int _20;
  short unsigned int _21;
  int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _40;
  long unsigned int _41;
  volatile uint32 * _42;
  const struct Port_InoutSettingType * _45;
  unsigned int _46;
  unsigned int _47;
  const struct Port_InoutSettingType * _48;
  long unsigned int _52;
  int _55;
  long unsigned int _56;
  long unsigned int _57;
  long unsigned int _58;
  long unsigned int _59;
  long unsigned int _60;
  volatile uint32 * _61;
  int _63;
  const struct Port_InoutSettingType * _64;
  unsigned int _66;
  unsigned int _67;
  const struct Port_InoutSettingType * _68;
  short unsigned int _69;
  unsigned char _70;
  short unsigned int _72;
  int _74;
  long unsigned int _75;
  long unsigned int _76;
  long unsigned int _77;
  long unsigned int _78;
  long unsigned int _79;
  volatile uint32 * _80;
  const uint16 * _82;
  unsigned int _83;
  const uint16 * _84;
  const struct Port_InMuxSettingType * _86;
  int _87;
  int _88;
  int _89;
  sizetype _90;
  sizetype _91;
  sizetype _92;
  const struct Port_InMuxSettingType * _93;
  int _98;
  long unsigned int _99;
  long unsigned int _100;
  long unsigned int _101;
  long unsigned int _102;
  long unsigned int _103;
  volatile uint32 * _104;
  int _107;
  long unsigned int _108;
  long unsigned int _109;
  long unsigned int _110;
  long unsigned int _111;
  long unsigned int _112;
  volatile uint32 * _113;
  const struct Port_Siul2_PinConfigType * _115;
  long unsigned int _116;
  const struct Port_Siul2_PinConfigType * _117;
  int _125;
  long unsigned int _126;
  long unsigned int _127;
  long unsigned int _128;
  long unsigned int _129;
  long unsigned int _130;
  volatile uint32 * _131;
  int _135;
  long unsigned int _136;
  long unsigned int _137;
  long unsigned int _138;
  long unsigned int _139;
  long unsigned int _140;
  volatile uint32 * _141;
  long unsigned int _144;

  <bb 2> [local count: 1073721769]:
  # DEBUG BEGIN_STMT
  # DEBUG PinModeError => 0
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_25(D)->pUsedPadConfig;
  _2 = PinIndex_26(D) * 20;
  _3 = _1 + _2;
  u16MscrIdx_27 = _3->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_28 = _3->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG CoreId => 0
  # DEBUG BEGIN_STMT
  _4 = pConfigPtr_25(D)->u16NumPins;
  _5 = (long unsigned int) _4;
  if (_5 <= PinIndex_26(D))
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354328184]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 10);
  goto <bb 30>; [100.00%]

  <bb 4> [local count: 719393585]:
  # DEBUG BEGIN_STMT
  _6 = pConfigPtr_25(D)->pau32Port_PinToPartitionMap;
  _7 = PinIndex_26(D) * 4;
  _8 = _6 + _7;
  _9 = *_8;
  _10 = _9 & 1;
  if (_10 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 237399883]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 240);
  goto <bb 30>; [100.00%]

  <bb 6> [local count: 481993702]:
  # DEBUG BEGIN_STMT
  _11 = _3->bMC;
  if (_11 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 159057922]:
  # DEBUG BEGIN_STMT
  Det_ReportError (124, 0, 4, 14);
  goto <bb 30>; [100.00%]

  <bb 8> [local count: 322935780]:
  # DEBUG BEGIN_STMT
  if (PinMode_29(D) > 20)
    goto <bb 30>; [35.00%]
  else
    goto <bb 9>; [65.00%]

  <bb 9> [local count: 209908257]:
  # DEBUG BEGIN_STMT
  _12 = (unsigned char) u16MscrIdx_27;
  u8PinDescBitOffset_30 = _12 & 15;
  # DEBUG u8PinDescBitOffset => u8PinDescBitOffset_30
  # DEBUG BEGIN_STMT
  _13 = (int) u8MscrSiulInstance_28;
  _14 = Port_apSiul2InstancePinModeAvailability[_13];
  _15 = (int) PinMode_29(D);
  _16 = u16MscrIdx_27 >> 4;
  _17 = (int) _16;
  u16PinDescWord_31 = *_14[_15][_17];
  # DEBUG u16PinDescWord => u16PinDescWord_31
  # DEBUG BEGIN_STMT
  _18 = (int) u8PinDescBitOffset_30;
  _19 = 1 << _18;
  _20 = (short unsigned int) _19;
  _21 = _20 & u16PinDescWord_31;
  if (_21 != 0)
    goto <bb 10>; [47.77%]
  else
    goto <bb 30>; [52.23%]

  <bb 10> [local count: 100273174]:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinIndex => PinIndex_26(D)
  # DEBUG PinMode => PinMode_29(D)
  # DEBUG pConfigPtr => pConfigPtr_25(D)
  # DEBUG INLINE_ENTRY Port_Ipw_SetMode
  # DEBUG BEGIN_STMT
  switch (PinMode_29(D)) <default: <L21> [16.67%], case 0: <L24> [16.67%], case 1 ... 6: <L26> [16.67%], case 7: <L25> [16.67%], case 8 ... 14: <L23> [16.67%], case 15 ... 20: <L22> [16.67%]>

  <bb 11> [local count: 16715538]:
<L22>:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinMode => PinMode_29(D)
  # DEBUG INLINE_ENTRY Port_Ipw_SetInoutMode
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG ImcrValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  # DEBUG BEGIN_STMT
  _36 = (int) u8MscrSiulInstance_28;
  _37 = Port_au32Siul2BaseAddr[_36];
  _38 = (long unsigned int) u16MscrIdx_27;
  _39 = _38 << 2;
  _40 = _37 + _39;
  _41 = _40 + 576;
  _42 = (volatile uint32 *) _41;
  MscrValue_43 ={v} *_42;
  # DEBUG MscrValue => MscrValue_43
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinMode => PinMode_29(D)
  # DEBUG INLINE_ENTRY Port_Ipw_GetIndexForInoutEntry
  # DEBUG BEGIN_STMT
  # DEBUG u16ReturnIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16Counter => 0
  goto <bb 15>; [100.00%]

  <bb 12> [local count: 217364212]:
  # DEBUG BEGIN_STMT
  _64 = Port_apInoutMuxSettings[_63];
  _66 = (unsigned int) u16Counter_65;
  _67 = _66 * 8;
  _68 = _64 + _67;
  _69 = _68->u16MscrIdx;
  if (u16MscrIdx_27 == _69)
    goto <bb 13>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 13> [local count: 73903832]:
  _70 = _68->u8Mode;
  if (PinMode_29(D) == _70)
    goto <bb 16>; [5.50%]
  else
    goto <bb 14>; [94.50%]

  <bb 14> [local count: 213299501]:
  # DEBUG BEGIN_STMT
  u16Counter_71 = u16Counter_65 + 1;
  # DEBUG u16Counter => u16Counter_71

  <bb 15> [local count: 230015039]:
  # u16Counter_65 = PHI <0(11), u16Counter_71(14)>
  # DEBUG u16Counter => u16Counter_65
  # DEBUG BEGIN_STMT
  _63 = (int) u8MscrSiulInstance_28;
  _72 = Port_au16NumInoutMuxSettings[_63];
  if (u16Counter_65 < _72)
    goto <bb 12>; [94.50%]
  else
    goto <bb 16>; [5.50%]

  <bb 16> [local count: 16715538]:
  # u16ReturnIndex_73 = PHI <u16Counter_65(13), 0(15)>
  # DEBUG u16ReturnIndex => u16ReturnIndex_73
  # DEBUG BEGIN_STMT
  _149 = u16ReturnIndex_73;
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinMode => NULL
  # DEBUG u16Counter => NULL
  # DEBUG u16ReturnIndex => NULL
  u16Index_44 = _149;
  # DEBUG u16Index => u16Index_44
  # DEBUG BEGIN_STMT
  _45 = Port_apInoutMuxSettings[_36];
  _46 = (unsigned int) u16Index_44;
  _47 = _46 * 8;
  _48 = _45 + _47;
  PadInoutData$u16ImcrIdx_49 = MEM[(const struct Port_InoutSettingType *)_48 + 4B];
  # DEBUG PadInoutData$u16ImcrIdx => PadInoutData$u16ImcrIdx_49
  PadInoutData$u8ImcrSSS_50 = MEM[(const struct Port_InoutSettingType *)_48 + 6B];
  # DEBUG PadInoutData$u8ImcrSSS => PadInoutData$u8ImcrSSS_50
  PadInoutData$u8ImcrSiulInstance_51 = MEM[(const struct Port_InoutSettingType *)_48 + 7B];
  # DEBUG PadInoutData$u8ImcrSiulInstance => PadInoutData$u8ImcrSiulInstance_51
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => PadInoutData$u8ImcrSiulInstance_51
  # DEBUG BEGIN_STMT
  _52 = (long unsigned int) PinMode_29(D);
  MscrValue_53 = _52 + 4294967282;
  # DEBUG MscrValue => MscrValue_53
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => PadInoutData$u16ImcrIdx_49
  # DEBUG BEGIN_STMT
  ImcrValue_54 = (uint32) PadInoutData$u8ImcrSSS_50;
  # DEBUG ImcrValue => ImcrValue_54
  # DEBUG BEGIN_STMT
  _55 = (int) PadInoutData$u8ImcrSiulInstance_51;
  _56 = Port_au32Siul2BaseAddr[_55];
  _57 = (long unsigned int) PadInoutData$u16ImcrIdx_49;
  _58 = _57 << 2;
  _59 = _56 + _58;
  _60 = _59 + 2624;
  _61 = (volatile uint32 *) _60;
  *_61 ={v} ImcrValue_54;
  # DEBUG BEGIN_STMT
  # DEBUG MscrValue => MscrValue_53 & 4294967288
  # DEBUG BEGIN_STMT
  # DEBUG MscrValue => MscrValue_53
  # DEBUG BEGIN_STMT
  MscrValue_62 = MscrValue_53 | 2621440;
  # DEBUG MscrValue => MscrValue_62
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_28, u16MscrIdx_27, 0);
  # DEBUG BEGIN_STMT
  *_42 ={v} MscrValue_62;
  # DEBUG D#1 => {CLOBBER}
  # DEBUG PadInoutData$u16ImcrIdx => D#1
  # DEBUG D#2 => {CLOBBER}
  # DEBUG PadInoutData$u8ImcrSSS => D#2
  # DEBUG D#3 => {CLOBBER}
  # DEBUG PadInoutData$u8ImcrSiulInstance => D#3
  goto <bb 29>; [100.00%]

  <bb 17> [local count: 16715538]:
<L23>:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinMode => PinMode_29(D)
  # DEBUG INLINE_ENTRY Port_Ipw_SetInputMode
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG ImcrValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _74 = (int) u8MscrSiulInstance_28;
  _75 = Port_au32Siul2BaseAddr[_74];
  _76 = (long unsigned int) u16MscrIdx_27;
  _77 = _76 << 2;
  _78 = _75 + _77;
  _79 = _78 + 576;
  _80 = (volatile uint32 *) _79;
  MscrValue_81 ={v} *_80;
  # DEBUG MscrValue => MscrValue_81
  # DEBUG BEGIN_STMT
  _82 = Port_apInMuxSettingsIndex[_74];
  _83 = _76 * 2;
  _84 = _82 + _83;
  u16Index_85 = *_84;
  # DEBUG u16Index => u16Index_85
  # DEBUG BEGIN_STMT
  _86 = Port_apInMuxSettings[_74];
  _87 = (int) u16Index_85;
  _88 = (int) PinMode_29(D);
  _89 = _87 + _88;
  _90 = (sizetype) _89;
  _91 = _90 + 1073741816;
  _92 = _91 * 4;
  _93 = _86 + _92;
  PadInMuxData$u16ImcrIdx_94 = MEM[(const struct Port_InMuxSettingType *)_93];
  # DEBUG PadInMuxData$u16ImcrIdx => PadInMuxData$u16ImcrIdx_94
  PadInMuxData$u8ImcrSSS_95 = MEM[(const struct Port_InMuxSettingType *)_93 + 2B];
  # DEBUG PadInMuxData$u8ImcrSSS => PadInMuxData$u8ImcrSSS_95
  PadInMuxData$u8ImcrSiulInstance_96 = MEM[(const struct Port_InMuxSettingType *)_93 + 3B];
  # DEBUG PadInMuxData$u8ImcrSiulInstance => PadInMuxData$u8ImcrSiulInstance_96
  # DEBUG BEGIN_STMT
  # DEBUG u8ImcrSiulInstance => PadInMuxData$u8ImcrSiulInstance_96
  # DEBUG BEGIN_STMT
  # DEBUG u16ImcrIdx => PadInMuxData$u16ImcrIdx_94
  # DEBUG BEGIN_STMT
  ImcrValue_97 = (uint32) PadInMuxData$u8ImcrSSS_95;
  # DEBUG ImcrValue => ImcrValue_97
  # DEBUG BEGIN_STMT
  _98 = (int) PadInMuxData$u8ImcrSiulInstance_96;
  _99 = Port_au32Siul2BaseAddr[_98];
  _100 = (long unsigned int) PadInMuxData$u16ImcrIdx_94;
  _101 = _100 << 2;
  _102 = _99 + _101;
  _103 = _102 + 2624;
  _104 = (volatile uint32 *) _103;
  *_104 ={v} ImcrValue_97;
  # DEBUG BEGIN_STMT
  MscrValue_105 = MscrValue_81 & 4292870136;
  # DEBUG MscrValue => MscrValue_105
  # DEBUG BEGIN_STMT
  MscrValue_106 = MscrValue_105 | 524288;
  # DEBUG MscrValue => MscrValue_106
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_28, u16MscrIdx_27, 0);
  # DEBUG BEGIN_STMT
  *_80 ={v} MscrValue_106;
  # DEBUG D#4 => {CLOBBER}
  # DEBUG PadInMuxData$u16ImcrIdx => D#4
  # DEBUG D#5 => {CLOBBER}
  # DEBUG PadInMuxData$u8ImcrSSS => D#5
  # DEBUG D#6 => {CLOBBER}
  # DEBUG PadInMuxData$u8ImcrSiulInstance => D#6
  goto <bb 29>; [100.00%]

  <bb 18> [local count: 16715538]:
<L24>:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinIndex => PinIndex_26(D)
  # DEBUG pConfigPtr => pConfigPtr_25(D)
  # DEBUG INLINE_ENTRY Port_Ipw_SetGpioMode
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _107 = (int) u8MscrSiulInstance_28;
  _108 = Port_au32Siul2BaseAddr[_107];
  _109 = (long unsigned int) u16MscrIdx_27;
  _110 = _109 << 2;
  _111 = _108 + _110;
  _112 = _111 + 576;
  _113 = (volatile uint32 *) _112;
  MscrValue_114 ={v} *_113;
  # DEBUG MscrValue => MscrValue_114
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_28, u16MscrIdx_27, 1);
  # DEBUG BEGIN_STMT
  _115 = pConfigPtr_25(D)->pUsedPadConfig;
  _116 = PinIndex_26(D) * 20;
  _117 = _115 + _116;
  ePadDirection_118 = _117->ePadDir;
  # DEBUG ePadDirection => ePadDirection_118
  # DEBUG BEGIN_STMT
  MscrValue_119 = MscrValue_114 & 4294967288;
  # DEBUG MscrValue => MscrValue_119
  # DEBUG BEGIN_STMT
  if (ePadDirection_118 == 1)
    goto <bb 19>; [20.24%]
  else
    goto <bb 20>; [79.76%]

  <bb 19> [local count: 3383225]:
  # DEBUG BEGIN_STMT
  MscrValue_120 = MscrValue_119 | 2097152;
  # DEBUG MscrValue => MscrValue_120
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioPadOutput (PinIndex_26(D), pConfigPtr_25(D));
  goto <bb 25>; [100.00%]

  <bb 20> [local count: 13332313]:
  # DEBUG BEGIN_STMT
  if (ePadDirection_118 == 0)
    goto <bb 21>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 21> [local count: 6666157]:
  # DEBUG BEGIN_STMT
  MscrValue_121 = MscrValue_119 | 524288;
  # DEBUG MscrValue => MscrValue_121
  goto <bb 25>; [100.00%]

  <bb 22> [local count: 6666157]:
  # DEBUG BEGIN_STMT
  if (ePadDirection_118 == 2)
    goto <bb 23>; [20.24%]
  else
    goto <bb 24>; [79.76%]

  <bb 23> [local count: 1349230]:
  # DEBUG BEGIN_STMT
  MscrValue_122 = MscrValue_119 | 2621440;
  # DEBUG MscrValue => MscrValue_122
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioPadOutput (PinIndex_26(D), pConfigPtr_25(D));
  goto <bb 25>; [100.00%]

  <bb 24> [local count: 5316927]:
  # DEBUG BEGIN_STMT
  MscrValue_123 = MscrValue_114 & 4292345848;
  # DEBUG MscrValue => MscrValue_123

  <bb 25> [local count: 16715538]:
  # MscrValue_124 = PHI <MscrValue_120(19), MscrValue_121(21), MscrValue_122(23), MscrValue_123(24)>
  # DEBUG MscrValue => MscrValue_124
  # DEBUG BEGIN_STMT
  Port_Ipw_SetPinDirection (PinIndex_26(D), ePadDirection_118, pConfigPtr_25(D));
  # DEBUG BEGIN_STMT
  *_113 ={v} MscrValue_124;
  goto <bb 29>; [100.00%]

  <bb 26> [local count: 16715538]:
<L25>:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG INLINE_ENTRY Port_Ipw_SetOnlyInputMode
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _125 = (int) u8MscrSiulInstance_28;
  _126 = Port_au32Siul2BaseAddr[_125];
  _127 = (long unsigned int) u16MscrIdx_27;
  _128 = _127 << 2;
  _129 = _126 + _128;
  _130 = _129 + 576;
  _131 = (volatile uint32 *) _130;
  MscrValue_132 ={v} *_131;
  # DEBUG MscrValue => MscrValue_132
  # DEBUG BEGIN_STMT
  MscrValue_133 = MscrValue_132 & 4292870136;
  # DEBUG MscrValue => MscrValue_133
  # DEBUG BEGIN_STMT
  MscrValue_134 = MscrValue_133 | 524288;
  # DEBUG MscrValue => MscrValue_134
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_28, u16MscrIdx_27, 0);
  # DEBUG BEGIN_STMT
  *_131 ={v} MscrValue_134;
  goto <bb 29>; [100.00%]

  <bb 27> [local count: 16715538]:
<L26>:
  # DEBUG BEGIN_STMT
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_28
  # DEBUG u16MscrIdx => u16MscrIdx_27
  # DEBUG PinMode => PinMode_29(D)
  # DEBUG INLINE_ENTRY Port_Ipw_SetAltMode
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _135 = (int) u8MscrSiulInstance_28;
  _136 = Port_au32Siul2BaseAddr[_135];
  _137 = (long unsigned int) u16MscrIdx_27;
  _138 = _137 << 2;
  _139 = _136 + _138;
  _140 = _139 + 576;
  _141 = (volatile uint32 *) _140;
  MscrValue_142 ={v} *_141;
  # DEBUG MscrValue => MscrValue_142
  # DEBUG BEGIN_STMT
  MscrValue_143 = MscrValue_142 & 4294967288;
  # DEBUG MscrValue => MscrValue_143
  # DEBUG BEGIN_STMT
  _144 = (long unsigned int) PinMode_29(D);
  MscrValue_145 = MscrValue_143 | _144;
  # DEBUG MscrValue => MscrValue_145
  # DEBUG BEGIN_STMT
  MscrValue_146 = MscrValue_145 | 2097152;
  # DEBUG MscrValue => MscrValue_146
  # DEBUG BEGIN_STMT
  *_141 ={v} MscrValue_146;
  goto <bb 29>; [100.00%]

  <bb 28> [local count: 16715538]:
<L21>:
  # DEBUG BEGIN_STMT
  Port_Ipw_SetGpioDirChangeability (u8MscrSiulInstance_28, u16MscrIdx_27, 0);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 29> [local count: 100293229]:
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinMode => NULL
  # DEBUG MscrValue => NULL
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG MscrValue => NULL
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinIndex => NULL
  # DEBUG pConfigPtr => NULL
  # DEBUG MscrValue => NULL
  # DEBUG ePadDirection => NULL
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinMode => NULL
  # DEBUG PadInMuxData$u8ImcrSiulInstance => NULL
  # DEBUG PadInMuxData$u8ImcrSSS => NULL
  # DEBUG PadInMuxData$u16ImcrIdx => NULL
  # DEBUG ImcrValue => NULL
  # DEBUG MscrValue => NULL
  # DEBUG u16Index => NULL
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinMode => NULL
  # DEBUG PadInoutData$u8ImcrSiulInstance => NULL
  # DEBUG PadInoutData$u8ImcrSSS => NULL
  # DEBUG PadInoutData$u16ImcrIdx => NULL
  # DEBUG ImcrValue => NULL
  # DEBUG u16Index => NULL
  # DEBUG MscrValue => NULL

  <bb 30> [local count: 1073741824]:
  # PinModeError_22 = PHI <0(3), 0(5), 0(7), 13(8), 0(29), 13(9)>
  # DEBUG u8MscrSiulInstance => NULL
  # DEBUG u16MscrIdx => NULL
  # DEBUG PinIndex => NULL
  # DEBUG PinMode => NULL
  # DEBUG pConfigPtr => NULL
  # DEBUG PinModeError => PinModeError_22
  # DEBUG BEGIN_STMT
  return PinModeError_22;

}



;; Function Port_Ipw_RefreshPortDirection (Port_Ipw_RefreshPortDirection, funcdef_no=14, decl_uid=6183, cgraph_uid=15, symbol_order=15)

Port_Ipw_RefreshPortDirection (const struct Port_ConfigType * pConfigPtr)
{
  uint32 u32LocalMSCR;
  uint8 u8MscrSiulInstance;
  uint16 u16MscrIdx;
  uint16 u16PinIndex;
  uint16 u16NumPins;
  const struct Port_Siul2_PinConfigType * _1;
  unsigned int _2;
  unsigned int _3;
  const struct Port_Siul2_PinConfigType * _4;
  unsigned char _5;
  int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  volatile uint32 * _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  u16NumPins_23 = pConfigPtr_22(D)->u16NumPins;
  # DEBUG u16NumPins => u16NumPins_23
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u16PinIndex => 0
  goto <bb 12>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = pConfigPtr_22(D)->pUsedPadConfig;
  _2 = (unsigned int) u16PinIndex_16;
  _3 = _2 * 20;
  _4 = _1 + _3;
  _5 = _4->bDC;
  if (_5 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 4> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  u16MscrIdx_24 = _4->u16MscrIdx;
  # DEBUG u16MscrIdx => u16MscrIdx_24
  # DEBUG BEGIN_STMT
  u8MscrSiulInstance_25 = _4->u8MscrSiulInstance;
  # DEBUG u8MscrSiulInstance => u8MscrSiulInstance_25
  # DEBUG BEGIN_STMT
  _6 = (int) u8MscrSiulInstance_25;
  _7 = Port_au32Siul2BaseAddr[_6];
  _8 = (long unsigned int) u16MscrIdx_24;
  _9 = _8 << 2;
  _10 = _7 + _9;
  _11 = _10 + 576;
  _12 = (volatile uint32 *) _11;
  u32LocalMSCR_26 ={v} *_12;
  # DEBUG u32LocalMSCR => u32LocalMSCR_26
  # DEBUG BEGIN_STMT
  _13 = _4->u32MSCR;
  _14 = _13 & 2097152;
  if (_14 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_28 = u32LocalMSCR_26 | 2097152;
  # DEBUG u32LocalMSCR => u32LocalMSCR_28
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_27 = u32LocalMSCR_26 & 4292870143;
  # DEBUG u32LocalMSCR => u32LocalMSCR_27

  <bb 7> [local count: 477815111]:
  # u32LocalMSCR_17 = PHI <u32LocalMSCR_28(5), u32LocalMSCR_27(6)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_17
  # DEBUG BEGIN_STMT
  _15 = _13 & 524288;
  if (_15 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_30 = u32LocalMSCR_17 | 524288;
  # DEBUG u32LocalMSCR => u32LocalMSCR_30
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  u32LocalMSCR_29 = u32LocalMSCR_17 & 4294443007;
  # DEBUG u32LocalMSCR => u32LocalMSCR_29

  <bb 10> [local count: 477815111]:
  # u32LocalMSCR_18 = PHI <u32LocalMSCR_30(8), u32LocalMSCR_29(9)>
  # DEBUG u32LocalMSCR => u32LocalMSCR_18
  # DEBUG BEGIN_STMT
  *_12 ={v} u32LocalMSCR_18;

  <bb 11> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  u16PinIndex_32 = u16PinIndex_16 + 1;
  # DEBUG u16PinIndex => u16PinIndex_32

  <bb 12> [local count: 1073741824]:
  # u16PinIndex_16 = PHI <0(2), u16PinIndex_32(11)>
  # DEBUG u16PinIndex => u16PinIndex_16
  # DEBUG BEGIN_STMT
  if (u16PinIndex_16 < u16NumPins_23)
    goto <bb 3>; [89.00%]
  else
    goto <bb 13>; [11.00%]

  <bb 13> [local count: 118111601]:
  return;

}


