
Analyzing function: prvTaskExitError.part.0/25
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 5 2 3 4
;;
;; Loop 1
;;  header 3, latch 4
;;  depth 1, outer 0
;;  nodes: 3 4
;; 5 succs { 2 }
;; 2 succs { 3 }
;; 3 succs { 4 }
;; 4 succs { 3 }

Analyzing function body size: prvTaskExitError.part.0

IPA function summary for prvTaskExitError.part.0/25 inlinable
  global time:     5.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:5.000000, time:5.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
  calls:


Analyzing function: vPortValidateInterruptPriority/20
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 10 6 7 8 11 9
;;
;; Loop 2
;;  header 5, latch 10
;;  depth 1, outer 0
;;  nodes: 5 10
;;
;; Loop 1
;;  header 8, latch 11
;;  depth 1, outer 0
;;  nodes: 8 11
;; 2 succs { 3 6 }
;; 3 succs { 4 6 }
;; 4 succs { 5 }
;; 5 succs { 10 }
;; 10 succs { 5 }
;; 6 succs { 7 9 }
;; 7 succs { 8 }
;; 8 succs { 11 }
;; 11 succs { 8 }
;; 9 succs { 1 }

Analyzing function body size: vPortValidateInterruptPriority

IPA function summary for vPortValidateInterruptPriority/20 inlinable
  global time:     13.124988
  self size:       26
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:23.000000, time:12.374989
    size:3.000000, time:0.749999,  executed if:(not inlined)
  calls:


Analyzing function: vPortEnableVFP/19
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vPortEnableVFP

IPA function summary for vPortEnableVFP/19
  global time:     10.000000
  self size:       11
  global size:     0
  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)
  calls:


Analyzing function: vPortSetupTimerInterrupt/18
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vPortSetupTimerInterrupt

IPA function summary for vPortSetupTimerInterrupt/18 inlinable
  global time:     6.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:4.000000, time:4.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:


Analyzing function: SysTick_Handler/17
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }

Analyzing function body size: SysTick_Handler

IPA function summary for SysTick_Handler/17 inlinable
  global time:     21.500000
  self size:       14
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:9.000000, time:8.500000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    xTaskIncrementTick/22 function body not available
      loop depth: 0 freq:1.00 size: 2 time: 11


Analyzing function: PendSV_Handler/16
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: PendSV_Handler

IPA function summary for PendSV_Handler/16
  global time:     43.000000
  self size:       44
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:41.000000, time:41.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:


Analyzing function: vPortExitCritical/15
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: vPortExitCritical

IPA function summary for vPortExitCritical/15 inlinable
  global time:     8.750000
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:13.000000, time:7.750000
    size:3.000000, time:1.000000,  executed if:(not inlined)
  calls:


Analyzing function: vPortEnterCritical/14
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 7 6
;;
;; Loop 1
;;  header 5, latch 7
;;  depth 1, outer 0
;;  nodes: 5 7
;; 2 succs { 3 6 }
;; 3 succs { 4 6 }
;; 4 succs { 5 }
;; 5 succs { 7 }
;; 7 succs { 5 }
;; 6 succs { 1 }

Analyzing function body size: vPortEnterCritical

IPA function summary for vPortEnterCritical/14 inlinable
  global time:     13.869999
  self size:       22
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:19.000000, time:12.209999
    size:3.000000, time:1.660000,  executed if:(not inlined)
  calls:


Analyzing function: vPortEndScheduler/13
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: vPortEndScheduler

IPA function summary for vPortEndScheduler/13 inlinable
  global time:     6.979999
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:8.000000, time:6.299998
    size:3.000000, time:0.680001,  executed if:(not inlined)
  calls:


Analyzing function: xPortStartScheduler/12
;; 5 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 15 5 6 7 16 8 9 10 11 12 13 17 14
;;
;; Loop 4
;;  header 4, latch 15
;;  depth 1, outer 0
;;  nodes: 4 15
;;
;; Loop 3
;;  header 7, latch 16
;;  depth 1, outer 0
;;  nodes: 7 16
;;
;; Loop 2
;;  header 13, latch 17
;;  depth 1, outer 0
;;  nodes: 13 17
;;
;; Loop 1
;;  header 10, latch 9
;;  depth 1, outer 0
;;  nodes: 10 9
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 15 }
;; 15 succs { 4 }
;; 5 succs { 6 8 }
;; 6 succs { 7 }
;; 7 succs { 16 }
;; 16 succs { 7 }
;; 8 succs { 10 }
;; 9 succs { 10 }
;; 10 succs { 9 11 }
;; 11 succs { 12 14 }
;; 12 succs { 13 }
;; 13 succs { 17 }
;; 17 succs { 13 }
;; 14 succs { 1 }

Analyzing function body size: xPortStartScheduler

IPA function summary for xPortStartScheduler/12 inlinable
  global time:     54.135374
  self size:       66
  global size:     0
  min size:       0
  self stack:      5
  global stack:    5
    size:58.000000, time:49.550830
    size:3.000000, time:0.176329,  executed if:(not inlined)
  calls:
    prvTaskExitError/9 function not considered for inlining
      loop depth: 0 freq:0.09 size: 1 time: 10
    vTaskSwitchContext/21 function body not available
      loop depth: 0 freq:0.09 size: 1 time: 10
    prvPortStartFirstTask/11 function not considered for inlining
      loop depth: 0 freq:0.09 size: 1 time: 10
    vPortEnableVFP/19 function not considered for inlining
      loop depth: 0 freq:0.09 size: 1 time: 10callee size: 5 stack: 0
    vPortSetupTimerInterrupt/18 function not considered for inlining
      loop depth: 0 freq:0.09 size: 1 time: 10callee size: 3 stack: 0


Analyzing function: prvPortStartFirstTask/11
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: prvPortStartFirstTask

IPA function summary for prvPortStartFirstTask/11
  global time:     16.000000
  self size:       17
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:14.000000, time:14.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:


Analyzing function: SVC_Handler/10
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: SVC_Handler

IPA function summary for SVC_Handler/10
  global time:     15.000000
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:13.000000, time:13.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:


Analyzing function: prvTaskExitError/9
;; 3 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 7 6
;;
;; Loop 1
;;  header 5, latch 7
;;  depth 1, outer 0
;;  nodes: 5 7
;; 2 succs { 3 4 }
;; 3 succs { }
;; 4 succs { 5 }
;; 5 succs { 7 6 }
;; 7 succs { 5 }
;; 6 succs { 1 }

Analyzing function body size: prvTaskExitError

IPA function summary for prvTaskExitError/9 inlinable
  global time:     22.252711
  self size:       16
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:12.000000, time:14.972715
    size:3.000000, time:0.680001,  executed if:(not inlined)
  calls:
    prvTaskExitError.part.0/25 function not considered for inlining
      loop depth: 0 freq:0.66 size: 1 time: 10callee size: 3 stack: 4


Analyzing function: pxPortInitialiseStack/8
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: pxPortInitialiseStack

IPA function summary for pxPortInitialiseStack/8 inlinable
  global time:     8.000000
  self size:       9
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:2.500000, time:2.500000
    size:5.500000, time:4.500000,  executed if:(not inlined)
    size:1.000000, time:1.000000,  nonconst if:(op1 changed)
  calls:

Symbol table:

prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @05e782a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Availability: local
  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: prvTaskExitError/9 (107374 (estimated locally),0.66 per call) 
  Calls: 
xTaskIncrementTick/22 (xTaskIncrementTick) @05ef57e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: SysTick_Handler/17 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
vTaskSwitchContext/21 (vTaskSwitchContext) @05eea700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
  Calls: 
vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @05eea9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
  Referring: 
  Availability: available
  Function flags: count:286331 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vPortEnableVFP/19 (vPortEnableVFP) @05eea620
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
  Calls: 
vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @05eea2a0
  Type: function definition analyzed
  Visibility: externally_visible public weak
  References: 
  Referring: 
  Availability: overwritable
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
  Calls: 
SysTick_Handler/17 (SysTick_Handler) @05eea000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: xTaskIncrementTick/22 (1073741824 (estimated locally),1.00 per call) 
PendSV_Handler/16 (PendSV_Handler) @05edea80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vPortExitCritical/15 (vPortExitCritical) @05ede0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
  Referring: 
  Availability: available
  Function flags: count:214748 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vPortEnterCritical/14 (vPortEnterCritical) @05edec40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)
  Referring: 
  Availability: available
  Function flags: count:631612 (estimated locally) body optimize_size
  Called by: 
  Calls: 
vPortEndScheduler/13 (vPortEndScheduler) @05ede9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: uxCriticalNesting/4 (read)
  Referring: 
  Availability: available
  Function flags: count:162688 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xPortStartScheduler/12 (xPortStartScheduler) @05ede620
  Type: function definition analyzed
  Visibility: externally_visible public
  References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
  Referring: 
  Availability: available
  Function flags: count:309048 (estimated locally) body optimize_size
  Called by: 
  Calls: prvTaskExitError/9 (27247 (estimated locally),0.09 per call) vTaskSwitchContext/21 (27247 (estimated locally),0.09 per call) prvPortStartFirstTask/11 (27247 (estimated locally),0.09 per call) vPortEnableVFP/19 (27247 (estimated locally),0.09 per call) vPortSetupTimerInterrupt/18 (27247 (estimated locally),0.09 per call) 
prvPortStartFirstTask/11 (prvPortStartFirstTask) @05ede380
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
  Calls: 
SVC_Handler/10 (SVC_Handler) @05ede000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
prvTaskExitError/9 (prvTaskExitError) @05ed9a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: uxCriticalNesting/4 (read)
  Referring: pxPortInitialiseStack/8 (addr)
  Availability: available
  Function flags: count:162688 (estimated locally) body optimize_size
  Called by: xPortStartScheduler/12 (27247 (estimated locally),0.09 per call) 
  Calls: prvTaskExitError.part.0/25 (107374 (estimated locally),0.66 per call) 
pxPortInitialiseStack/8 (pxPortInitialiseStack) @05ed9c40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: prvTaskExitError/9 (addr)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @05ed83a8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)vPortValidateInterruptPriority/20 (read)
  Availability: available
  Varpool flags: initialized
ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @05ed8318
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
  Availability: available
  Varpool flags: initialized
uxCriticalNesting/4 (uxCriticalNesting) @05ed81b0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: vPortEndScheduler/13 (read)vPortEnterCritical/14 (write)vPortExitCritical/15 (write)prvTaskExitError/9 (read)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)xPortStartScheduler/12 (write)
  Availability: available
  Varpool flags: initialized
prvTaskExitError.part.0 ()
{
  volatile uint32_t ulDummy;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;

  <bb 5> [local count: 107374]:

  <bb 2> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1

  <bb 3> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 4> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

}


vPortValidateInterruptPriority ()
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint8_t ucCurrentPriority;
  uint32_t ulCurrentInterrupt;
  const uint8_t * _1;
  unsigned char ucMaxSysCallPriority.19_2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int ulMaxPRIGROUPValue.20_5;

  <bb 2> [local count: 286331]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_8
  # DEBUG BEGIN_STMT
  if (ulCurrentInterrupt_8 > 15)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 143165]:
  # DEBUG BEGIN_STMT
  _1 = 3758154736B + ulCurrentInterrupt_8;
  ucCurrentPriority_9 ={v} *_1;
  # DEBUG ucCurrentPriority => ucCurrentPriority_9
  # DEBUG BEGIN_STMT
  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
  if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 71583]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10

  <bb 5> [local count: 715827883]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 715827883]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(volatile uint32_t *)3758157068B];
  _4 = _3 & 1792;
  ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
  if (_4 > ulMaxPRIGROUPValue.20_5)
    goto <bb 7>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 7> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11

  <bb 8> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 11> [local count: 1073741823]:
  goto <bb 8>; [100.00%]

  <bb 9> [local count: 107374]:
  # DEBUG BEGIN_STMT
  return;

}


__attribute__((naked, noinline, noclone))
vPortEnableVFP ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
	ldr r1, [r0]				
								
	orr r1, r1, #( 0xf << 20 )	
	str r1, [r0]				
	bx r14						
	.ltorg						
");
  return;

}


__attribute__((weak))
vPortSetupTimerInterrupt ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758153744B] ={v} 0;
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758153752B] ={v} 0;
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758153744B] ={v} 7;
  return;

}


SysTick_Handler ()
{
  uint32_t ulNewBASEPRI;
  long int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  _1 = xTaskIncrementTick ();
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => 0
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
  # DEBUG ulNewMaskValue => NULL
  return;

}


__attribute__((naked, noinline, noclone))
PendSV_Handler ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mrs r0, psp							
	isb									
										
	ldr	r3, pxCurrentTCBConst			
	ldr	r2, [r3]						
										
	tst r14, #0x10						
	it eq								
	vstmdbeq r0!, {s16-s31}				
										
	stmdb r0!, {r4-r11, r14}			
	str r0, [r2]						
										
	stmdb sp!, {r0, r3}					
	mov r0, %0 							
	msr basepri, r0						
	dsb									
	isb									
	bl vTaskSwitchContext				
	mov r0, #0							
	msr basepri, r0						
	ldmia sp!, {r0, r3}					
										
	ldr r1, [r3]						
	ldr r0, [r1]						
										
	ldmia r0!, {r4-r11, r14}			
										
	tst r14, #0x10						
	it eq								
	vldmiaeq r0!, {s16-s31}				
										
	msr psp, r0							
	isb									
										
										
	bx r14								
										
	.align 4							
pxCurrentTCBConst: .word pxCurrentTCB	
" :  : "i" 16);
  return;

}


vPortExitCritical ()
{
  uint32_t ulNewBASEPRI;
  long unsigned int uxCriticalNesting.16_1;
  long unsigned int _2;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  uxCriticalNesting.16_1 = uxCriticalNesting;
  if (uxCriticalNesting.16_1 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = uxCriticalNesting.16_1 + 4294967295;
  uxCriticalNesting = _2;
  # DEBUG BEGIN_STMT
  if (_2 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => 0
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");

  <bb 7> [local count: 107374]:
  # DEBUG ulNewMaskValue => NULL
  return;

}


vPortEnterCritical ()
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  long unsigned int uxCriticalNesting.14_1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 2> [local count: 631612]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  uxCriticalNesting.14_1 = uxCriticalNesting;
  _2 = uxCriticalNesting.14_1 + 1;
  uxCriticalNesting = _2;
  # DEBUG BEGIN_STMT
  if (_2 == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 3> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(volatile uint32_t *)3758157060B];
  _4 = _3 & 255;
  if (_4 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8

  <bb 5> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 524238]:
  # DEBUG BEGIN_STMT
  return;

}


vPortEndScheduler ()
{
  uint32_t ulNewBASEPRI;
  long unsigned int uxCriticalNesting.13_1;

  <bb 2> [local count: 162688]:
  # DEBUG BEGIN_STMT
  uxCriticalNesting.13_1 = uxCriticalNesting;
  if (uxCriticalNesting.13_1 != 1000)
    goto <bb 3>; [66.00%]
  else
    goto <bb 5>; [34.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 55314]:
  # DEBUG BEGIN_STMT
  return;

}


xPortStartScheduler ()
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  volatile uint8_t ucMaxPriorityValue;
  volatile uint32_t ulOriginalPriority;
  long unsigned int _1;
  signed char _2;
  long unsigned int _3;
  unsigned char _4;
  long unsigned int _5;
  unsigned char _6;
  unsigned char ucMaxPriorityValue.5_7;
  unsigned char _8;
  long unsigned int ulMaxPRIGROUPValue.6_9;
  long unsigned int _10;
  unsigned char ucMaxPriorityValue.7_11;
  unsigned char _12;
  unsigned char ucMaxPriorityValue.8_13;
  long unsigned int ulMaxPRIGROUPValue.9_14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int ulOriginalPriority.12_18;
  unsigned char _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;

  <bb 2> [local count: 309048]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(volatile uint32_t *)3758157056B];
  if (_1 == 1091551857)
    goto <bb 3>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 3> [local count: 105076]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_46

  <bb 4> [local count: 1050765414]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 1050765414]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 203972]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(volatile uint32_t *)3758157056B];
  if (_3 == 1091551856)
    goto <bb 6>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 6> [local count: 69350]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47

  <bb 7> [local count: 693505173]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 693505172]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 134621]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pucFirstUserPriorityRegister => 3758154752B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 ={v} MEM[(volatile uint8_t *)3758154752B];
  _5 = (long unsigned int) _4;
  ulOriginalPriority ={v} _5;
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8_t *)3758154752B] ={v} 255;
  # DEBUG BEGIN_STMT
  _6 ={v} MEM[(volatile uint8_t *)3758154752B];
  ucMaxPriorityValue ={v} _6;
  # DEBUG BEGIN_STMT
  ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
  _8 = ucMaxPriorityValue.5_7 & 16;
  ucMaxSysCallPriority = _8;
  # DEBUG BEGIN_STMT
  ulMaxPRIGROUPValue = 7;
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 1089209]:
  # DEBUG BEGIN_STMT
  ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
  _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
  ulMaxPRIGROUPValue = _10;
  # DEBUG BEGIN_STMT
  ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
  _12 = ucMaxPriorityValue.7_11 << 1;
  ucMaxPriorityValue ={v} _12;

  <bb 10> [local count: 1223831]:
  # DEBUG BEGIN_STMT
  ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
  _2 = (signed char) ucMaxPriorityValue.8_13;
  if (_2 < 0)
    goto <bb 9>; [89.00%]
  else
    goto <bb 11>; [11.00%]

  <bb 11> [local count: 134621]:
  # DEBUG BEGIN_STMT
  ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
  _15 = 7 - ulMaxPRIGROUPValue.9_14;
  if (_15 != 4)
    goto <bb 12>; [79.76%]
  else
    goto <bb 14>; [20.24%]

  <bb 12> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_48

  <bb 13> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 1073741824]:
  goto <bb 13>; [100.00%]

  <bb 14> [local count: 27247]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _16 = ulMaxPRIGROUPValue.9_14 << 8;
  # DEBUG BEGIN_STMT
  _17 = _16 & 1792;
  ulMaxPRIGROUPValue = _17;
  # DEBUG BEGIN_STMT
  ulOriginalPriority.12_18 ={v} ulOriginalPriority;
  _19 = (unsigned char) ulOriginalPriority.12_18;
  MEM[(volatile uint8_t *)3758154752B] ={v} _19;
  # DEBUG BEGIN_STMT
  _20 ={v} MEM[(volatile uint32_t *)3758157088B];
  _21 = _20 | 15728640;
  MEM[(volatile uint32_t *)3758157088B] ={v} _21;
  # DEBUG BEGIN_STMT
  _22 ={v} MEM[(volatile uint32_t *)3758157088B];
  _23 = _22 | 4026531840;
  MEM[(volatile uint32_t *)3758157088B] ={v} _23;
  # DEBUG BEGIN_STMT
  vPortSetupTimerInterrupt ();
  # DEBUG BEGIN_STMT
  uxCriticalNesting = 0;
  # DEBUG BEGIN_STMT
  vPortEnableVFP ();
  # DEBUG BEGIN_STMT
  _24 ={v} MEM[(volatile uint32_t *)3758157620B];
  _25 = _24 | 3221225472;
  MEM[(volatile uint32_t *)3758157620B] ={v} _25;
  # DEBUG BEGIN_STMT
  prvPortStartFirstTask ();
  # DEBUG BEGIN_STMT
  vTaskSwitchContext ();
  # DEBUG BEGIN_STMT
  prvTaskExitError ();
  # DEBUG BEGIN_STMT
  return 0;

}


__attribute__((naked, noinline, noclone))
prvPortStartFirstTask ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__(" ldr r0, =0xE000ED08 	
 ldr r0, [r0] 			
 ldr r0, [r0] 			
 msr msp, r0			
 mov r0, #0			
 msr control, r0		
 cpsie i				
 cpsie f				
 dsb					
 isb					
 svc 0					
 nop					
 .ltorg				
");
  return;

}


__attribute__((naked, noinline, noclone))
SVC_Handler ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
	ldr r1, [r3]					
	ldr r0, [r1]					
	ldmia r0!, {r4-r11, r14}		
	msr psp, r0						
	isb								
	mov r0, #0 						
	msr	basepri, r0					
	bx r14							
									
	.align 4						
pxCurrentTCBConst2: .word pxCurrentTCB				
");
  return;

}


prvTaskExitError ()
{
  uint32_t ulNewBASEPRI;
  volatile uint32_t ulDummy;
  long unsigned int uxCriticalNesting.3_1;
  long unsigned int ulDummy.4_2;

  <bb 2> [local count: 162688]:
  # DEBUG BEGIN_STMT
  ulDummy ={v} 0;
  # DEBUG BEGIN_STMT
  uxCriticalNesting.3_1 = uxCriticalNesting;
  if (uxCriticalNesting.3_1 != 4294967295)
    goto <bb 3>; [66.00%]
  else
    goto <bb 4>; [34.00%]

  <bb 3> [local count: 107374]:
  prvTaskExitError.part.0 ();

  <bb 4> [local count: 55314]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6

  <bb 5> [local count: 502853]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ulDummy.4_2 ={v} ulDummy;
  if (ulDummy.4_2 == 0)
    goto <bb 7>; [89.00%]
  else
    goto <bb 6>; [11.00%]

  <bb 7> [local count: 447539]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 55314]:
  return;

}


pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
{
  long unsigned int pxCode.0_1;
  long unsigned int _2;
  long unsigned int prvTaskExitError.1_3;
  long unsigned int pvParameters.2_4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTopOfStack => pxTopOfStack_5(D) + 4294967292
  # DEBUG BEGIN_STMT
  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
  # DEBUG BEGIN_STMT
  # DEBUG D#4 => &MEM[(void *)pxTopOfStack_5(D) + 4294967288B]
  # DEBUG pxTopOfStack => D#4
  # DEBUG BEGIN_STMT
  pxCode.0_1 = (long unsigned int) pxCode_8(D);
  _2 = pxCode.0_1 & 4294967294;
  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => &MEM[(void *)pxTopOfStack_5(D) + 4294967284B]
  # DEBUG pxTopOfStack => D#3
  # DEBUG BEGIN_STMT
  prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
  # DEBUG BEGIN_STMT
  # DEBUG D#2 => &MEM[(void *)pxTopOfStack_5(D) + 4294967264B]
  # DEBUG pxTopOfStack => D#2
  # DEBUG BEGIN_STMT
  pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &MEM[(void *)pxTopOfStack_5(D) + 4294967260B]
  # DEBUG pxTopOfStack => D#1
  # DEBUG BEGIN_STMT
  MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
  # DEBUG BEGIN_STMT
  pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
  # DEBUG pxTopOfStack => pxTopOfStack_14
  # DEBUG BEGIN_STMT
  return pxTopOfStack_14;

}


