ADM/GW/Debug_FLASH/RTD/src/Emios_Mcl_Ip.c.077i.pure-const

1885 lines
51 KiB
Plaintext

local analysis of Emios_Mcl_Ip_SetCounterBusPeriod
scanning: _1 = period_11(D) != 65535;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_18 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_18 != 0)
scanning: _2 = hwInstance_13(D) <= 2;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_17 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_17 != 0)
scanning: _3 = hwChannel_14(D) <= 23;
scanning: x ={v} _3;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_16 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_16 != 0)
scanning: _4 = (int) hwInstance_13(D);
scanning: _5 = (int) hwChannel_14(D);
scanning: _6 = Emios_Ip_ChState[_4][_5].counterMode;
scanning: if (_6 == 80)
scanning: if (_6 == 84)
scanning: if (period_11(D) == 0)
scanning: _7 = emiosBase[_4];
scanning: _8 = (long unsigned int) period_11(D);
scanning: _7->CH.UC[_5].A ={v} _8;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return status_9;
local analysis of Emios_Mcl_Ip_ValidateChannel
scanning: _1 = hwInstance_7(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_11 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_11 != 0)
scanning: _2 = hwChannel_9(D) <= 23;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_10 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_10 != 0)
scanning: _3 = (int) hwInstance_7(D);
scanning: _4 = (int) hwChannel_9(D);
scanning: _5 = Emios_Ip_ChState[_3][_4].channelInitState;
scanning: if (_5 != 0)
scanning: return valid_6;
local analysis of Emios_Mcl_Ip_SetReloadInterval
scanning: _1 = interval_8(D) <= 30;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_16 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_16 != 0)
scanning: _2 = hwInstance_11(D) <= 2;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_15 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_15 != 0)
scanning: _3 = hwChannel_12(D) <= 23;
scanning: x ={v} _3;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_14 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_14 != 0)
scanning: _4 = (int) hwInstance_11(D);
scanning: _5 = emiosBase[_4];
scanning: _6 = (int) hwChannel_12(D);
scanning: _10 = interval_8(D) & 31;
scanning: _7 = (long unsigned int) _10;
scanning: _5->CH.UC[_6].C2 ={v} _7;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return;
local analysis of Emios_Mcl_Ip_Deinit
scanning: _1 = instance_14(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_26 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_26 != 0)
scanning: _2 = (int) instance_14(D);
scanning: base_16 = emiosBase[_2];
scanning: _3 = Emios_Ip_IpIsInitialized[_2].instanceInitState;
scanning: if (_3 != 0)
scanning: _4 ={v} base_16->MCR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _5 = _4 & 4227858431;
scanning: base_16->MCR ={v} _5;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: base_16->MCR ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _6 = (int) currentChannel_9;
scanning: _7 = Emios_Ip_ChState[_2][_6].channelInitState;
scanning: if (_7 != 0)
scanning: base_16->CH.UC[_6].C ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: base_16->CH.UC[_6].A ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: base_16->CH.UC[_6].B ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _8 ={v} base_16->UCDIS;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: base_16->UCDIS ={v} _8;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: Emios_Ip_ChState[_2][_6].channelInitState = 0;
scanning: currentChannel_25 = currentChannel_9 + 1;
scanning: if (currentChannel_9 != 24)
scanning: Emios_Ip_IpIsInitialized[_2].instanceInitState = 0;
scanning: return status_10;
local analysis of Emios_Mcl_Ip_ComparatorTransferDisable
scanning: _1 = instance_6(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_12 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_12 != 0)
scanning: _2 = channelMask_8(D) <= 16777214;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_11 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_11 != 0)
scanning: _3 = (int) instance_6(D);
scanning: base_9 = emiosBase[_3];
scanning: _4 ={v} base_9->OUDIS;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _5 = _4 | channelMask_8(D);
scanning: base_9->OUDIS ={v} _5;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return;
local analysis of Emios_Mcl_Ip_ComparatorTransferEnable
scanning: _1 = instance_7(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_13 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_13 != 0)
scanning: _2 = channelMask_9(D) <= 16777214;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_12 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_12 != 0)
scanning: _3 = (int) instance_7(D);
scanning: base_10 = emiosBase[_3];
scanning: _4 ={v} base_10->OUDIS;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _5 = ~channelMask_9(D);
scanning: _6 = _4 & _5;
scanning: base_10->OUDIS ={v} _6;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return;
local analysis of Emios_Mcl_Ip_DisableChannel
scanning: _1 = instance_8(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_14 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_14 != 0)
scanning: _2 = u8HwChannel_10(D) <= 23;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_13 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_13 != 0)
scanning: _3 = (int) instance_8(D);
scanning: base_11 = emiosBase[_3];
scanning: _4 ={v} base_11->UCDIS;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _5 = (long unsigned int) u8HwChannel_10(D);
scanning: _6 = 1 << _5;
scanning: _7 = _4 | _6;
scanning: base_11->UCDIS ={v} _7;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return;
local analysis of Emios_Mcl_Ip_EnableChannel
scanning: _1 = instance_9(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_15 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_15 != 0)
scanning: _2 = u8HwChannel_11(D) <= 23;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_14 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_14 != 0)
scanning: _3 = (int) instance_9(D);
scanning: base_12 = emiosBase[_3];
scanning: _4 ={v} base_12->UCDIS;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _5 = (long unsigned int) u8HwChannel_11(D);
scanning: _6 = 1 << _5;
scanning: _7 = ~_6;
scanning: _8 = _4 & _7;
scanning: base_12->UCDIS ={v} _8;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return;
local analysis of Emios_Mcl_Ip_Init
scanning: _1 = instance_60(D) <= 2;
scanning: x ={v} _1;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_85 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_85 != 0)
scanning: _2 = pConfig_62(D) != 0B;
scanning: x ={v} _2;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: x.1_84 ={v} x;
Volatile stmt is not const/pure
Volatile operand is not const/pure
scanning: if (x.1_84 != 0)
scanning: _3 = (int) instance_60(D);
scanning: base_63 = emiosBase[_3];
scanning: _4 = Emios_Ip_IpIsInitialized[_3].instanceInitState;
scanning: if (_4 != 0)
scanning: _5 ={v} base_63->MCR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _6 = _5 & 4227858431;
scanning: base_63->MCR ={v} _6;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _7 = pConfig_62(D)->emiosGlobalConfig;
Indirect ref read is not const
scanning: _8 = _7->clkDivVal;
Indirect ref read is not const
scanning: _9 = (long unsigned int) _8;
scanning: _10 = _9 << 8;
scanning: _11 = _7->allowDebugMode;
Indirect ref read is not const
scanning: _12 = (long unsigned int) _11;
scanning: _13 = _12 << 29;
scanning: _14 = _10 | _13;
scanning: _15 = _7->enableGlobalTimeBase;
Indirect ref read is not const
scanning: _16 = (long unsigned int) _15;
scanning: _17 = _16 << 28;
scanning: _18 = _14 | _17;
scanning: base_63->MCR ={v} _18;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _19 = pConfig_62(D)->masterBusConfig;
Indirect ref read is not const
scanning: _20 = (int) currentChannel_54;
scanning: _21 = *_19[_20].allowDebugMode;
Indirect ref read is not const
scanning: if (_21 != 0)
scanning: _22 = *_19[_20].hwChannel;
Indirect ref read is not const
scanning: _23 = (int) _22;
scanning: _24 ={v} base_63->CH.UC[_23].C;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _25 = _24 | 2147483648;
scanning: base_63->CH.UC[_23].C ={v} _25;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _26 = *_19[_20].hwChannel;
Indirect ref read is not const
scanning: _27 = (int) _26;
scanning: _28 ={v} base_63->CH.UC[_27].C;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _29 = *_19[_20].masterBusPrescaler;
Indirect ref read is not const
scanning: _30 = (long unsigned int) _29;
scanning: _31 = _30 << 26;
scanning: _32 = _31 & 201326592;
scanning: _33 = _28 | _32;
scanning: base_63->CH.UC[_27].C ={v} _33;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _34 = *_19[_20].masterMode;
Indirect ref read is not const
scanning: switch (_34) <default: <L16> [16.67%], case 16: <L5> [16.67%], case 18: <L6> [16.67%], case 20: <L7> [16.67%], case 80: <L8> [16.67%], case 84: <L9> [16.67%]>
scanning: <L5>:
scanning: _35 = *_19[_20].defaultPeriod;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].A ={v} _35;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: <L6>:
scanning: _36 = *_19[_20].defaultPeriod;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].A ={v} _36;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: <L7>:
scanning: base_63->CH.UC[_27].B ={v} 0;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _37 = *_19[_20].defaultPeriod;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].A ={v} _37;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: <L8>:
scanning: _38 = *_19[_20].defaultPeriod;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].A ={v} _38;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: <L9>:
scanning: _39 = *_19[_20].defaultPeriod;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].A ={v} _39;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: <L16>:
scanning: _40 = *_19[_20].offsetStartValue;
Indirect ref read is not const
scanning: base_63->CH.UC[_27].CNT ={v} _40;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _41 ={v} base_63->CH.UC[_27].C;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _64 = _34 & 127;
scanning: _42 = (long unsigned int) _64;
scanning: _43 = _41 | _42;
scanning: base_63->CH.UC[_27].C ={v} _43;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _44 ={v} base_63->CH.UC[_27].C;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _45 = _44 | 33554432;
scanning: base_63->CH.UC[_27].C ={v} _45;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: _46 ={v} base_63->CH.UC[_27].C;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _47 = *_19[_20].interruptEnable;
Indirect ref read is not const
scanning: _48 = (long unsigned int) _47;
scanning: _49 = _48 << 17;
scanning: _50 = _46 | _49;
scanning: base_63->CH.UC[_27].C ={v} _50;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: Emios_Ip_ChState[_3][_27].counterMode = _34;
scanning: Emios_Ip_ChState[_3][_27].channelInitState = 1;
scanning: currentChannel_82 = currentChannel_54 + 1;
scanning: _51 = pConfig_62(D)->channelsNumber;
Indirect ref read is not const
scanning: if (_51 > currentChannel_54)
scanning: Emios_Ip_IpIsInitialized[_3].instanceInitState = 1;
scanning: _52 ={v} base_63->MCR;
Volatile stmt is not const/pure
Indirect ref read is not const
scanning: _53 = _52 | 67108864;
scanning: base_63->MCR ={v} _53;
Volatile stmt is not const/pure
Indirect ref write is not const/pure
scanning: return status_55;
callgraph:
Emios_Mcl_Ip_SetCounterBusPeriod/12 (Emios_Mcl_Ip_SetCounterBusPeriod) @07be6a80
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e290
References: Emios_Ip_ChState/2 (read)emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ValidateChannel/11 (Emios_Mcl_Ip_ValidateChannel) @07be67e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e470
References: Emios_Ip_ChState/2 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_SetReloadInterval/10 (Emios_Mcl_Ip_SetReloadInterval) @07be6540
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e490
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Deinit/9 (Emios_Mcl_Ip_Deinit) @07be61c0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e210
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (read)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferDisable/8 (Emios_Mcl_Ip_ComparatorTransferDisable) @07c087e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4b0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferEnable/7 (Emios_Mcl_Ip_ComparatorTransferEnable) @07c08ee0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e390
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_DisableChannel/6 (Emios_Mcl_Ip_DisableChannel) @07c08c40
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e2d0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_EnableChannel/5 (Emios_Mcl_Ip_EnableChannel) @07c089a0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e530
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Init/4 (Emios_Mcl_Ip_Init) @07c08700
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e3b0
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (write)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced for nothrow
Emios_Mcl_Ip_SetCounterBusPeriod/12 (Emios_Mcl_Ip_SetCounterBusPeriod) @07be6a80
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e290
References: Emios_Ip_ChState/2 (read)emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ValidateChannel/11 (Emios_Mcl_Ip_ValidateChannel) @07be67e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e470
References: Emios_Ip_ChState/2 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_SetReloadInterval/10 (Emios_Mcl_Ip_SetReloadInterval) @07be6540
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e490
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Deinit/9 (Emios_Mcl_Ip_Deinit) @07be61c0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e210
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (read)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferDisable/8 (Emios_Mcl_Ip_ComparatorTransferDisable) @07c087e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4b0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferEnable/7 (Emios_Mcl_Ip_ComparatorTransferEnable) @07c08ee0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e390
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_DisableChannel/6 (Emios_Mcl_Ip_DisableChannel) @07c08c40
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e2d0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_EnableChannel/5 (Emios_Mcl_Ip_EnableChannel) @07c089a0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e530
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Init/4 (Emios_Mcl_Ip_Init) @07c08700
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e3b0
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (write)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
MALLOC LATTICE Initial:
Emios_Mcl_Ip_SetCounterBusPeriod: malloc_bottom
Emios_Mcl_Ip_ValidateChannel: malloc_bottom
Emios_Mcl_Ip_SetReloadInterval: malloc_bottom
Emios_Mcl_Ip_Deinit: malloc_bottom
Emios_Mcl_Ip_ComparatorTransferDisable: malloc_bottom
Emios_Mcl_Ip_ComparatorTransferEnable: malloc_bottom
Emios_Mcl_Ip_DisableChannel: malloc_bottom
Emios_Mcl_Ip_EnableChannel: malloc_bottom
Emios_Mcl_Ip_Init: malloc_bottom
MALLOC LATTICE after propagation:
Emios_Mcl_Ip_SetCounterBusPeriod: malloc_bottom
Emios_Mcl_Ip_ValidateChannel: malloc_bottom
Emios_Mcl_Ip_SetReloadInterval: malloc_bottom
Emios_Mcl_Ip_Deinit: malloc_bottom
Emios_Mcl_Ip_ComparatorTransferDisable: malloc_bottom
Emios_Mcl_Ip_ComparatorTransferEnable: malloc_bottom
Emios_Mcl_Ip_DisableChannel: malloc_bottom
Emios_Mcl_Ip_EnableChannel: malloc_bottom
Emios_Mcl_Ip_Init: malloc_bottom
callgraph:
Emios_Mcl_Ip_SetCounterBusPeriod/12 (Emios_Mcl_Ip_SetCounterBusPeriod) @07be6a80
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e5d0
References: Emios_Ip_ChState/2 (read)emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ValidateChannel/11 (Emios_Mcl_Ip_ValidateChannel) @07be67e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e490
References: Emios_Ip_ChState/2 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_SetReloadInterval/10 (Emios_Mcl_Ip_SetReloadInterval) @07be6540
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e390
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Deinit/9 (Emios_Mcl_Ip_Deinit) @07be61c0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e470
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (read)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferDisable/8 (Emios_Mcl_Ip_ComparatorTransferDisable) @07c087e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e330
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferEnable/7 (Emios_Mcl_Ip_ComparatorTransferEnable) @07c08ee0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e350
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_DisableChannel/6 (Emios_Mcl_Ip_DisableChannel) @07c08c40
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4b0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_EnableChannel/5 (Emios_Mcl_Ip_EnableChannel) @07c089a0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4d0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Init/4 (Emios_Mcl_Ip_Init) @07c08700
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e250
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (write)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
ordered call graph: reduced
Emios_Mcl_Ip_SetCounterBusPeriod/12 (Emios_Mcl_Ip_SetCounterBusPeriod) @07be6a80
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e5d0
References: Emios_Ip_ChState/2 (read)emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ValidateChannel/11 (Emios_Mcl_Ip_ValidateChannel) @07be67e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e490
References: Emios_Ip_ChState/2 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_SetReloadInterval/10 (Emios_Mcl_Ip_SetReloadInterval) @07be6540
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e390
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Deinit/9 (Emios_Mcl_Ip_Deinit) @07be61c0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e470
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (read)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferDisable/8 (Emios_Mcl_Ip_ComparatorTransferDisable) @07c087e0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e330
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_ComparatorTransferEnable/7 (Emios_Mcl_Ip_ComparatorTransferEnable) @07c08ee0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e350
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_DisableChannel/6 (Emios_Mcl_Ip_DisableChannel) @07c08c40
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4b0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_EnableChannel/5 (Emios_Mcl_Ip_EnableChannel) @07c089a0
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e4d0
References: emiosBase/1 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Emios_Mcl_Ip_Init/4 (Emios_Mcl_Ip_Init) @07c08700
Type: function definition analyzed
Visibility: externally_visible public
Aux: @0736e250
References: emiosBase/1 (read)Emios_Ip_IpIsInitialized/3 (read)Emios_Ip_ChState/2 (write)Emios_Ip_ChState/2 (write)Emios_Ip_IpIsInitialized/3 (write)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls:
Function found not to call free: Emios_Mcl_Ip_Init
Function found not to call free: Emios_Mcl_Ip_EnableChannel
Function found not to call free: Emios_Mcl_Ip_DisableChannel
Function found not to call free: Emios_Mcl_Ip_ComparatorTransferEnable
Function found not to call free: Emios_Mcl_Ip_ComparatorTransferDisable
Function found not to call free: Emios_Mcl_Ip_Deinit
Function found not to call free: Emios_Mcl_Ip_SetReloadInterval
Function found not to call free: Emios_Mcl_Ip_ValidateChannel
Function found not to call free: Emios_Mcl_Ip_SetCounterBusPeriod
Emios_Mcl_Ip_SetCounterBusPeriod (uint8 hwInstance, uint8 hwChannel, uint16 period)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
Emios_Ip_CommonStatusType status;
_Bool _1;
_Bool _2;
_Bool _3;
int _4;
int _5;
<unnamed type> _6;
struct eMIOS_Type * _7;
long unsigned int _8;
_Bool x.1_16;
_Bool x.1_17;
_Bool x.1_18;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = period_11(D) != 65535;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_18 ={v} x;
if (x.1_18 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 18> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = hwInstance_13(D) <= 2;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_17 ={v} x;
if (x.1_17 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = hwChannel_14(D) <= 23;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 16> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG status => 1
# DEBUG BEGIN_STMT
_4 = (int) hwInstance_13(D);
_5 = (int) hwChannel_14(D);
_6 = Emios_Ip_ChState[_4][_5].counterMode;
if (_6 == 80)
goto <bb 10>; [34.00%]
else
goto <bb 9>; [66.00%]
<bb 9> [local count: 17717]:
if (_6 == 84)
goto <bb 10>; [34.00%]
else
goto <bb 11>; [66.00%]
<bb 10> [local count: 15150]:
if (period_11(D) == 0)
goto <bb 12>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 19268]:
# DEBUG BEGIN_STMT
_7 = emiosBase[_4];
_8 = (long unsigned int) period_11(D);
_7->CH.UC[_5].A ={v} _8;
# DEBUG BEGIN_STMT
# DEBUG status => 0
<bb 12> [local count: 26844]:
# status_9 = PHI <1(10), 0(11)>
# DEBUG status => status_9
# DEBUG BEGIN_STMT
return status_9;
}
Emios_Mcl_Ip_ValidateChannel (uint8 hwInstance, uint8 hwChannel)
{
volatile boolean x;
volatile boolean x;
boolean valid;
_Bool _1;
_Bool _2;
int _3;
int _4;
_Bool _5;
_Bool x.1_10;
_Bool x.1_11;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = hwInstance_7(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_11 ={v} x;
if (x.1_11 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = hwChannel_9(D) <= 23;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_10 ={v} x;
if (x.1_10 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 11> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG valid => 0
# DEBUG BEGIN_STMT
_3 = (int) hwInstance_7(D);
_4 = (int) hwChannel_9(D);
_5 = Emios_Ip_ChState[_3][_4].channelInitState;
if (_5 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG valid => 1
<bb 8> [local count: 53687]:
# valid_6 = PHI <0(6), 1(7)>
# DEBUG valid => valid_6
# DEBUG BEGIN_STMT
return valid_6;
}
Emios_Mcl_Ip_SetReloadInterval (uint8 hwInstance, uint8 hwChannel, uint8 interval)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
_Bool _1;
_Bool _2;
_Bool _3;
int _4;
struct eMIOS_Type * _5;
int _6;
long unsigned int _7;
unsigned char _10;
_Bool x.1_14;
_Bool x.1_15;
_Bool x.1_16;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = interval_8(D) <= 30;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_16 ={v} x;
if (x.1_16 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 14> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = hwInstance_11(D) <= 2;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_15 ={v} x;
if (x.1_15 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = hwChannel_12(D) <= 23;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_14 ={v} x;
if (x.1_14 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 268435456]:
goto <bb 7>; [100.00%]
<bb 8> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 = (int) hwInstance_11(D);
_5 = emiosBase[_4];
_6 = (int) hwChannel_12(D);
_10 = interval_8(D) & 31;
_7 = (long unsigned int) _10;
_5->CH.UC[_6].C2 ={v} _7;
return;
}
Emios_Mcl_Ip_Deinit (uint8 instance)
{
volatile boolean x;
struct eMIOS_Type * base;
Emios_Ip_CommonStatusType status;
uint8 currentChannel;
_Bool _1;
int _2;
_Bool _3;
long unsigned int _4;
long unsigned int _5;
int _6;
_Bool _7;
long unsigned int _8;
_Bool x.1_26;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_14(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_26 ={v} x;
if (x.1_26 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 12> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 13> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_2 = (int) instance_14(D);
base_16 = emiosBase[_2];
# DEBUG base => base_16
# DEBUG BEGIN_STMT
_3 = Emios_Ip_IpIsInitialized[_2].instanceInitState;
if (_3 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_4 ={v} base_16->MCR;
_5 = _4 & 4227858431;
base_16->MCR ={v} _5;
# DEBUG BEGIN_STMT
base_16->MCR ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG currentChannel => 0
goto <bb 9>; [100.00%]
<bb 6> [local count: 1288488]:
# DEBUG BEGIN_STMT
_6 = (int) currentChannel_9;
_7 = Emios_Ip_ChState[_2][_6].channelInitState;
if (_7 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 644244]:
# DEBUG BEGIN_STMT
base_16->CH.UC[_6].C ={v} 0;
# DEBUG BEGIN_STMT
base_16->CH.UC[_6].A ={v} 0;
# DEBUG BEGIN_STMT
base_16->CH.UC[_6].B ={v} 0;
# DEBUG BEGIN_STMT
_8 ={v} base_16->UCDIS;
base_16->UCDIS ={v} _8;
# DEBUG BEGIN_STMT
Emios_Ip_ChState[_2][_6].channelInitState = 0;
<bb 8> [local count: 1288488]:
# DEBUG BEGIN_STMT
currentChannel_25 = currentChannel_9 + 1;
# DEBUG currentChannel => currentChannel_25
<bb 9> [local count: 1342175]:
# currentChannel_9 = PHI <0(5), currentChannel_25(8)>
# DEBUG currentChannel => currentChannel_9
# DEBUG BEGIN_STMT
if (currentChannel_9 != 24)
goto <bb 6>; [96.00%]
else
goto <bb 10>; [4.00%]
<bb 10> [local count: 53687]:
# DEBUG BEGIN_STMT
Emios_Ip_IpIsInitialized[_2].instanceInitState = 0;
<bb 11> [local count: 107374]:
# status_10 = PHI <1(4), 0(10)>
# DEBUG status => status_10
# DEBUG BEGIN_STMT
return status_10;
}
Emios_Mcl_Ip_ComparatorTransferDisable (uint8 instance, uint32 channelMask)
{
volatile boolean x;
volatile boolean x;
struct eMIOS_Type * base;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _4;
long unsigned int _5;
_Bool x.1_11;
_Bool x.1_12;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_6(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_12 ={v} x;
if (x.1_12 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = channelMask_8(D) <= 16777214;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_11 ={v} x;
if (x.1_11 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_6(D);
base_9 = emiosBase[_3];
# DEBUG base => base_9
# DEBUG BEGIN_STMT
_4 ={v} base_9->OUDIS;
_5 = _4 | channelMask_8(D);
base_9->OUDIS ={v} _5;
return;
}
Emios_Mcl_Ip_ComparatorTransferEnable (uint8 instance, uint32 channelMask)
{
volatile boolean x;
volatile boolean x;
struct eMIOS_Type * base;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
_Bool x.1_12;
_Bool x.1_13;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_7(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_13 ={v} x;
if (x.1_13 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = channelMask_9(D) <= 16777214;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_12 ={v} x;
if (x.1_12 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_7(D);
base_10 = emiosBase[_3];
# DEBUG base => base_10
# DEBUG BEGIN_STMT
_4 ={v} base_10->OUDIS;
_5 = ~channelMask_9(D);
_6 = _4 & _5;
base_10->OUDIS ={v} _6;
return;
}
Emios_Mcl_Ip_DisableChannel (uint8 instance, uint8 u8HwChannel)
{
volatile boolean x;
volatile boolean x;
struct eMIOS_Type * base;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
_Bool x.1_13;
_Bool x.1_14;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_8(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_14 ={v} x;
if (x.1_14 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = u8HwChannel_10(D) <= 23;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_13 ={v} x;
if (x.1_13 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_8(D);
base_11 = emiosBase[_3];
# DEBUG base => base_11
# DEBUG BEGIN_STMT
_4 ={v} base_11->UCDIS;
_5 = (long unsigned int) u8HwChannel_10(D);
_6 = 1 << _5;
_7 = _4 | _6;
base_11->UCDIS ={v} _7;
return;
}
Emios_Mcl_Ip_EnableChannel (uint8 instance, uint8 u8HwChannel)
{
volatile boolean x;
volatile boolean x;
struct eMIOS_Type * base;
_Bool _1;
_Bool _2;
int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
_Bool x.1_14;
_Bool x.1_15;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_9(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_15 ={v} x;
if (x.1_15 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 10> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = u8HwChannel_11(D) <= 23;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_14 ={v} x;
if (x.1_14 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 9> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_3 = (int) instance_9(D);
base_12 = emiosBase[_3];
# DEBUG base => base_12
# DEBUG BEGIN_STMT
_4 ={v} base_12->UCDIS;
_5 = (long unsigned int) u8HwChannel_11(D);
_6 = 1 << _5;
_7 = ~_6;
_8 = _4 & _7;
base_12->UCDIS ={v} _8;
return;
}
Emios_Mcl_Ip_Init (uint8 instance, const struct Emios_Mcl_Ip_ConfigType * const pConfig)
{
volatile boolean x;
volatile boolean x;
Emios_Ip_CommonStatusType status;
struct eMIOS_Type * base;
uint8 currentChannel;
_Bool _1;
_Bool _2;
int _3;
_Bool _4;
long unsigned int _5;
long unsigned int _6;
const struct Emios_Ip_GlobalConfigType * _7;
unsigned char _8;
long unsigned int _9;
long unsigned int _10;
_Bool _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
_Bool _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
const struct Emios_Ip_MasterBusConfigType[<unknown>] * _19;
int _20;
_Bool _21;
unsigned char _22;
int _23;
long unsigned int _24;
long unsigned int _25;
unsigned char _26;
int _27;
long unsigned int _28;
unsigned char _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
long unsigned int _33;
<unnamed type> _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
_Bool _47;
long unsigned int _48;
long unsigned int _49;
long unsigned int _50;
unsigned char _51;
long unsigned int _52;
long unsigned int _53;
<unnamed type> _64;
_Bool x.1_84;
_Bool x.1_85;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
_1 = instance_60(D) <= 2;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_85 ={v} x;
if (x.1_85 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_2 = pConfig_62(D) != 0B;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.1_84 ={v} x;
if (x.1_84 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 22> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_3 = (int) instance_60(D);
base_63 = emiosBase[_3];
# DEBUG base => base_63
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_4 = Emios_Ip_IpIsInitialized[_3].instanceInitState;
if (_4 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
_5 ={v} base_63->MCR;
_6 = _5 & 4227858431;
base_63->MCR ={v} _6;
# DEBUG BEGIN_STMT
_7 = pConfig_62(D)->emiosGlobalConfig;
_8 = _7->clkDivVal;
_9 = (long unsigned int) _8;
_10 = _9 << 8;
_11 = _7->allowDebugMode;
_12 = (long unsigned int) _11;
_13 = _12 << 29;
_14 = _10 | _13;
_15 = _7->enableGlobalTimeBase;
_16 = (long unsigned int) _15;
_17 = _16 << 28;
_18 = _14 | _17;
base_63->MCR ={v} _18;
# DEBUG BEGIN_STMT
# DEBUG currentChannel => 0
goto <bb 17>; [100.00%]
<bb 8> [local count: 217540]:
# DEBUG BEGIN_STMT
_19 = pConfig_62(D)->masterBusConfig;
_20 = (int) currentChannel_54;
_21 = *_19[_20].allowDebugMode;
if (_21 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 108770]:
# DEBUG BEGIN_STMT
_22 = *_19[_20].hwChannel;
_23 = (int) _22;
_24 ={v} base_63->CH.UC[_23].C;
_25 = _24 | 2147483648;
base_63->CH.UC[_23].C ={v} _25;
<bb 10> [local count: 217540]:
# DEBUG BEGIN_STMT
_26 = *_19[_20].hwChannel;
_27 = (int) _26;
_28 ={v} base_63->CH.UC[_27].C;
_29 = *_19[_20].masterBusPrescaler;
_30 = (long unsigned int) _29;
_31 = _30 << 26;
_32 = _31 & 201326592;
_33 = _28 | _32;
base_63->CH.UC[_27].C ={v} _33;
# DEBUG BEGIN_STMT
_34 = *_19[_20].masterMode;
switch (_34) <default: <L16> [16.67%], case 16: <L5> [16.67%], case 18: <L6> [16.67%], case 20: <L7> [16.67%], case 80: <L8> [16.67%], case 84: <L9> [16.67%]>
<bb 11> [local count: 36264]:
<L5>:
# DEBUG BEGIN_STMT
_35 = *_19[_20].defaultPeriod;
base_63->CH.UC[_27].A ={v} _35;
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 12> [local count: 36264]:
<L6>:
# DEBUG BEGIN_STMT
_36 = *_19[_20].defaultPeriod;
base_63->CH.UC[_27].A ={v} _36;
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 13> [local count: 36264]:
<L7>:
# DEBUG BEGIN_STMT
base_63->CH.UC[_27].B ={v} 0;
# DEBUG BEGIN_STMT
_37 = *_19[_20].defaultPeriod;
base_63->CH.UC[_27].A ={v} _37;
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 14> [local count: 36264]:
<L8>:
# DEBUG BEGIN_STMT
_38 = *_19[_20].defaultPeriod;
base_63->CH.UC[_27].A ={v} _38;
# DEBUG BEGIN_STMT
goto <bb 16>; [100.00%]
<bb 15> [local count: 36264]:
<L9>:
# DEBUG BEGIN_STMT
_39 = *_19[_20].defaultPeriod;
base_63->CH.UC[_27].A ={v} _39;
# DEBUG BEGIN_STMT
<bb 16> [local count: 217584]:
<L16>:
# DEBUG BEGIN_STMT
_40 = *_19[_20].offsetStartValue;
base_63->CH.UC[_27].CNT ={v} _40;
# DEBUG BEGIN_STMT
_41 ={v} base_63->CH.UC[_27].C;
_64 = _34 & 127;
_42 = (long unsigned int) _64;
_43 = _41 | _42;
base_63->CH.UC[_27].C ={v} _43;
# DEBUG BEGIN_STMT
_44 ={v} base_63->CH.UC[_27].C;
_45 = _44 | 33554432;
base_63->CH.UC[_27].C ={v} _45;
# DEBUG BEGIN_STMT
_46 ={v} base_63->CH.UC[_27].C;
_47 = *_19[_20].interruptEnable;
_48 = (long unsigned int) _47;
_49 = _48 << 17;
_50 = _46 | _49;
base_63->CH.UC[_27].C ={v} _50;
# DEBUG BEGIN_STMT
Emios_Ip_ChState[_3][_27].counterMode = _34;
# DEBUG BEGIN_STMT
Emios_Ip_ChState[_3][_27].channelInitState = 1;
# DEBUG BEGIN_STMT
currentChannel_82 = currentChannel_54 + 1;
# DEBUG currentChannel => currentChannel_82
<bb 17> [local count: 244427]:
# currentChannel_54 = PHI <0(7), currentChannel_82(16)>
# DEBUG currentChannel => currentChannel_54
# DEBUG BEGIN_STMT
_51 = pConfig_62(D)->channelsNumber;
if (_51 > currentChannel_54)
goto <bb 8>; [89.00%]
else
goto <bb 18>; [11.00%]
<bb 18> [local count: 26887]:
# DEBUG BEGIN_STMT
Emios_Ip_IpIsInitialized[_3].instanceInitState = 1;
<bb 19> [local count: 53731]:
# status_55 = PHI <1(6), 0(18)>
# DEBUG status => status_55
# DEBUG BEGIN_STMT
_52 ={v} base_63->MCR;
_53 = _52 | 67108864;
base_63->MCR ={v} _53;
# DEBUG BEGIN_STMT
return status_55;
}