callgraph: Siul2_Dio_Ip_WriteChannel/12 (Siul2_Dio_Ip_WriteChannel) @05fe7ee0 Type: function definition analyzed Visibility: externally_visible public References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_ReadChannel/11 (Siul2_Dio_Ip_ReadChannel) @05fe7c40 Type: function definition analyzed Visibility: externally_visible public References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_MaskedWritePins/10 (Siul2_Dio_Ip_MaskedWritePins) @05fe79a0 Type: function definition analyzed Visibility: externally_visible public References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPin/9 (Siul2_Dio_Ip_ReadPin) @05fe7700 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPins/8 (Siul2_Dio_Ip_ReadPins) @05fe7460 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_TogglePins/7 (Siul2_Dio_Ip_TogglePins) @05fe71c0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ClearPins/6 (Siul2_Dio_Ip_ClearPins) @05cc6d20 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_SetPins/5 (Siul2_Dio_Ip_SetPins) @05cc67e0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_GetPinsOutput/4 (Siul2_Dio_Ip_GetPinsOutput) @05cc6ee0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePins/3 (Siul2_Dio_Ip_WritePins) @05cc6c40 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePin/2 (Siul2_Dio_Ip_WritePin) @05cc69a0 Type: function definition analyzed Visibility: externally_visible public References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (Siul2_Dio_Ip_REV_BIT_16) @05cc6700 Type: function definition analyzed Visibility: prevailing_def_ironly References: Referring: Availability: local Function flags: count:119292716 (estimated locally) body local nonfreeing_fn optimize_size Called by: Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPin/9 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPins/8 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_TogglePins/7 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ClearPins/6 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_SetPins/5 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_GetPinsOutput/4 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePins/3 (1073741824 (estimated locally),1.00 per call) Calls: Clearing variable flags: Function name:Siul2_Dio_Ip_WriteChannel/12: locals read: locals written: Function name:Siul2_Dio_Ip_ReadChannel/11: locals read: locals written: Function name:Siul2_Dio_Ip_MaskedWritePins/10: locals read: locals written: Function name:Siul2_Dio_Ip_ReadPin/9: locals read: locals written: Function name:Siul2_Dio_Ip_ReadPins/8: locals read: locals written: Function name:Siul2_Dio_Ip_TogglePins/7: locals read: locals written: Function name:Siul2_Dio_Ip_ClearPins/6: locals read: locals written: Function name:Siul2_Dio_Ip_SetPins/5: locals read: locals written: Function name:Siul2_Dio_Ip_GetPinsOutput/4: locals read: locals written: Function name:Siul2_Dio_Ip_WritePins/3: locals read: locals written: Function name:Siul2_Dio_Ip_WritePin/2: locals read: locals written: Function name:Siul2_Dio_Ip_REV_BIT_16/1: locals read: locals written: ordered call graph: reduced Siul2_Dio_Ip_WriteChannel/12 (Siul2_Dio_Ip_WriteChannel) @05fe7ee0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5de90 References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_ReadChannel/11 (Siul2_Dio_Ip_ReadChannel) @05fe7c40 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5ddd0 References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_MaskedWritePins/10 (Siul2_Dio_Ip_MaskedWritePins) @05fe79a0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5ddf0 References: Siul2BaseAdresses/0 (read) Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPin/9 (Siul2_Dio_Ip_ReadPin) @05fe7700 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5dbf0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPins/8 (Siul2_Dio_Ip_ReadPins) @05fe7460 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5dad0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_TogglePins/7 (Siul2_Dio_Ip_TogglePins) @05fe71c0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5de50 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ClearPins/6 (Siul2_Dio_Ip_ClearPins) @05cc6d20 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5dcd0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_SetPins/5 (Siul2_Dio_Ip_SetPins) @05cc67e0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5daf0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_GetPinsOutput/4 (Siul2_Dio_Ip_GetPinsOutput) @05cc6ee0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5dd10 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePins/3 (Siul2_Dio_Ip_WritePins) @05cc6c40 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5de70 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePin/2 (Siul2_Dio_Ip_WritePin) @05cc69a0 Type: function definition analyzed Visibility: externally_visible public Aux: @05c5dbb0 References: Referring: Availability: available Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size Called by: Calls: Siul2_Dio_Ip_REV_BIT_16/1 (Siul2_Dio_Ip_REV_BIT_16) @05cc6700 Type: function definition analyzed Visibility: prevailing_def_ironly Aux: @05c5db10 References: Referring: Availability: local Function flags: count:119292716 (estimated locally) body local nonfreeing_fn optimize_size Called by: Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_MaskedWritePins/10 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPin/9 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ReadPins/8 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_TogglePins/7 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_ClearPins/6 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_SetPins/5 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_GetPinsOutput/4 (1073741824 (estimated locally),1.00 per call) Siul2_Dio_Ip_WritePins/3 (1073741824 (estimated locally),1.00 per call) Calls: Function name:Siul2_Dio_Ip_REV_BIT_16/1: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_WritePin/2: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_WritePins/3: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_GetPinsOutput/4: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_SetPins/5: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_ClearPins/6: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_TogglePins/7: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_ReadPins/8: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_ReadPin/9: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_MaskedWritePins/10: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_ReadChannel/11: locals read: locals written: globals read: globals written: Function name:Siul2_Dio_Ip_WriteChannel/12: locals read: locals written: globals read: globals written: Siul2_Dio_Ip_WriteChannel (uint8 u8Siul2Instance, Siul2_Dio_Ip_PinsChannelType pin, Siul2_Dio_Ip_PinsLevelType value) { int _1; long unsigned int _2; short unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; uint8 * _7; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) u8Siul2Instance_8(D); _2 = Siul2BaseAdresses[_1]; _3 = pin_10(D) ^ 3; _4 = (long unsigned int) _3; _5 = _2 + _4; _6 = _5 + 4864; _7 = (uint8 *) _6; *_7 = value_11(D); return; } Siul2_Dio_Ip_ReadChannel (uint8 u8Siul2Instance, Siul2_Dio_Ip_PinsChannelType pin) { Siul2_Dio_Ip_PinsLevelType returnValue; int _1; long unsigned int _2; short unsigned int _3; long unsigned int _4; long unsigned int _5; long unsigned int _6; uint8 * _7; unsigned char _8; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG returnValue => 0 # DEBUG BEGIN_STMT _1 = (int) u8Siul2Instance_9(D); _2 = Siul2BaseAdresses[_1]; _3 = pin_11(D) ^ 3; _4 = (long unsigned int) _3; _5 = _2 + _4; _6 = _5 + 5376; _7 = (uint8 *) _6; _8 = *_7; returnValue_12 = _8 & 1; # DEBUG returnValue => returnValue_12 # DEBUG BEGIN_STMT return returnValue_12; } Siul2_Dio_Ip_MaskedWritePins (uint8 u8Siul2Instance, uint8 u8PortId, Siul2_Dio_Ip_PinsChannelType pins, Siul2_Dio_Ip_PinsChannelType mask) { uint32 pinsRev; uint32 maskRev; struct SIUL2_Type * base; int _1; long unsigned int _2; short unsigned int _3; short unsigned int _4; long unsigned int _5; int _6; long unsigned int _7; [local count: 1073741824]: # DEBUG BEGIN_STMT _1 = (int) u8Siul2Instance_8(D); _2 = Siul2BaseAdresses[_1]; base_10 = (struct SIUL2_Type *) _2; # DEBUG base => base_10 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _3 = Siul2_Dio_Ip_REV_BIT_16 (mask_11(D)); maskRev_12 = (uint32) _3; # DEBUG maskRev => maskRev_12 # DEBUG BEGIN_STMT _4 = Siul2_Dio_Ip_REV_BIT_16 (pins_13(D)); pinsRev_14 = (uint32) _4; # DEBUG pinsRev => pinsRev_14 # DEBUG BEGIN_STMT _5 = maskRev_12 << 16; _6 = (int) u8PortId_15(D); _7 = _5 | pinsRev_14; base_10->MPGPDO[_6] ={v} _7; return; } Siul2_Dio_Ip_ReadPin (const struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pin) { Siul2_Dio_Ip_PinsLevelType returnValue; short unsigned int _1; short unsigned int _2; int _3; int _4; int _5; int _6; int _7; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG returnValue => 0 # DEBUG BEGIN_STMT _1 ={v} base_9(D)->PGPDI; _2 = Siul2_Dio_Ip_REV_BIT_16 (_1); _3 = (int) _2; _4 = (int) pin_10(D); _5 = 1 << _4; _6 = _3 & _5; _7 = _6 >> _4; returnValue_11 = (Siul2_Dio_Ip_PinsLevelType) _7; # DEBUG returnValue => returnValue_11 # DEBUG BEGIN_STMT return returnValue_11; } Siul2_Dio_Ip_ReadPins (const struct Siul2_Dio_Ip_GpioType * const base) { Siul2_Dio_Ip_PinsChannelType returnValue; short unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG returnValue => 0 # DEBUG BEGIN_STMT _1 ={v} base_3(D)->PGPDI; returnValue_4 = Siul2_Dio_Ip_REV_BIT_16 (_1); # DEBUG returnValue => returnValue_4 # DEBUG BEGIN_STMT return returnValue_4; } Siul2_Dio_Ip_TogglePins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins) { short unsigned int _1; short unsigned int _2; short unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = Siul2_Dio_Ip_REV_BIT_16 (pins_4(D)); _1 ={v} base_6(D)->PGPDO; _2 = _1 ^ _5; base_6(D)->PGPDO ={v} _2; return; } Siul2_Dio_Ip_ClearPins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins) { short unsigned int _1; short unsigned int _2; short unsigned int _3; short unsigned int _6; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Siul2_Dio_Ip_REV_BIT_16 (pins_5(D)); _6 = ~_1; _2 ={v} base_7(D)->PGPDO; _3 = _2 & _6; base_7(D)->PGPDO ={v} _3; return; } Siul2_Dio_Ip_SetPins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins) { short unsigned int _1; short unsigned int _2; short unsigned int _5; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _5 = Siul2_Dio_Ip_REV_BIT_16 (pins_4(D)); _1 ={v} base_6(D)->PGPDO; _2 = _1 | _5; base_6(D)->PGPDO ={v} _2; return; } Siul2_Dio_Ip_GetPinsOutput (const struct Siul2_Dio_Ip_GpioType * const base) { Siul2_Dio_Ip_PinsChannelType returnValue; short unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG returnValue => 0 # DEBUG BEGIN_STMT _1 ={v} base_3(D)->PGPDO; returnValue_4 = Siul2_Dio_Ip_REV_BIT_16 (_1); # DEBUG returnValue => returnValue_4 # DEBUG BEGIN_STMT return returnValue_4; } Siul2_Dio_Ip_WritePins (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pins) { short unsigned int _1; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Siul2_Dio_Ip_REV_BIT_16 (pins_3(D)); base_4(D)->PGPDO ={v} _1; return; } Siul2_Dio_Ip_WritePin (struct Siul2_Dio_Ip_GpioType * const base, Siul2_Dio_Ip_PinsChannelType pin, Siul2_Dio_Ip_PinsLevelType value) { Siul2_Dio_Ip_PinsChannelType pinsValues; unsigned int _1; unsigned int _2; int _3; short unsigned int _4; short unsigned int _5; unsigned int _6; unsigned int _7; short unsigned int _8; unsigned char _17; [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT pinsValues_11 ={v} base_10(D)->PGPDO; # DEBUG pinsValues => pinsValues_11 # DEBUG BEGIN_STMT _1 = (unsigned int) pin_12(D); _2 = 15 - _1; _3 = 1 << _2; _4 = (short unsigned int) _3; _5 = ~_4; pinsValues_13 = _5 & pinsValues_11; # DEBUG pinsValues => pinsValues_13 # DEBUG BEGIN_STMT _17 = value_14(D) & 1; _6 = (unsigned int) _17; _7 = _6 << _2; _8 = (short unsigned int) _7; pinsValues_15 = _8 | pinsValues_13; # DEBUG pinsValues => pinsValues_15 # DEBUG BEGIN_STMT base_10(D)->PGPDO ={v} pinsValues_15; return; } Siul2_Dio_Ip_REV_BIT_16 (uint16 value) { uint16 ret; uint8 i; int _1; int _2; int _3; unsigned int _4; unsigned int _5; unsigned int _6; unsigned int _7; unsigned int _8; short unsigned int _9; int _11; unsigned int _12; unsigned int _13; unsigned int _14; short unsigned int _15; short unsigned int _16; [local count: 119292716]: # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG ret => 0 # DEBUG BEGIN_STMT # DEBUG i => 0 goto ; [100.00%] [local count: 954449108]: # DEBUG BEGIN_STMT _1 = (int) value_20(D); _2 = (int) i_17; _3 = _1 >> _2; _4 = (unsigned int) _3; _5 = _4 & 1; _6 = (unsigned int) i_17; _7 = 15 - _6; _8 = _5 << _7; _9 = (short unsigned int) _8; _11 = _1 << _2; _12 = (unsigned int) _11; _13 = _12 & 32768; _14 = _13 >> _7; _15 = (short unsigned int) _14; _16 = _9 | _15; ret_21 = _16 | ret_18; # DEBUG ret => ret_21 # DEBUG BEGIN_STMT i_22 = i_17 + 1; # DEBUG i => i_22 [local count: 1073741824]: # i_17 = PHI <0(2), i_22(3)> # ret_18 = PHI <0(2), ret_21(3)> # DEBUG ret => ret_18 # DEBUG i => i_17 # DEBUG BEGIN_STMT if (i_17 != 8) goto ; [88.89%] else goto ; [11.11%] [local count: 119292717]: # ret_10 = PHI # DEBUG BEGIN_STMT return ret_10; }