Browse Source

蓝牙应用层初步完成

CHENJIE-PC\QiXiang_CHENJIE 2 years ago
parent
commit
48712f70c4
100 changed files with 14218 additions and 45578 deletions
  1. 32 32
      .cproject
  2. 4 4
      .settings/language.settings.xml
  3. 5 0
      .vscode/settings.json
  4. 1 1
      Debug_FLASH/FreeRTOS/Source/croutine.args
  5. 12 12
      Debug_FLASH/FreeRTOS/Source/croutine.c.000i.cgraph
  6. 0 1
      Debug_FLASH/FreeRTOS/Source/croutine.c.068i.whole-program
  7. 0 1
      Debug_FLASH/FreeRTOS/Source/croutine.c.069i.profile_estimate
  8. 0 37
      Debug_FLASH/FreeRTOS/Source/croutine.c.070i.icf
  9. 0 2
      Debug_FLASH/FreeRTOS/Source/croutine.c.071i.devirt
  10. 0 26
      Debug_FLASH/FreeRTOS/Source/croutine.c.072i.cp
  11. 0 18
      Debug_FLASH/FreeRTOS/Source/croutine.c.077i.pure-const
  12. 0 7
      Debug_FLASH/FreeRTOS/Source/croutine.c.079i.static-var
  13. BIN
      Debug_FLASH/FreeRTOS/Source/croutine.o
  14. 320 320
      Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.cgraph
  15. 12 18
      Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.ipa-clones
  16. 113 269
      Debug_FLASH/FreeRTOS/Source/event_groups.c.016i.visibility
  17. 51 279
      Debug_FLASH/FreeRTOS/Source/event_groups.c.017i.build_ssa_passes
  18. 35 311
      Debug_FLASH/FreeRTOS/Source/event_groups.c.022i.opt_local_passes
  19. 370 503
      Debug_FLASH/FreeRTOS/Source/event_groups.c.048i.remove_symbols
  20. 510 693
      Debug_FLASH/FreeRTOS/Source/event_groups.c.060i.targetclone
  21. 510 693
      Debug_FLASH/FreeRTOS/Source/event_groups.c.064i.free-fnsummary1
  22. 368 506
      Debug_FLASH/FreeRTOS/Source/event_groups.c.068i.whole-program
  23. 0 1237
      Debug_FLASH/FreeRTOS/Source/event_groups.c.069i.profile_estimate
  24. 0 1296
      Debug_FLASH/FreeRTOS/Source/event_groups.c.070i.icf
  25. 0 1492
      Debug_FLASH/FreeRTOS/Source/event_groups.c.071i.devirt
  26. 0 1641
      Debug_FLASH/FreeRTOS/Source/event_groups.c.072i.cp
  27. 93 960
      Debug_FLASH/FreeRTOS/Source/event_groups.c.075i.fnsummary
  28. 536 1175
      Debug_FLASH/FreeRTOS/Source/event_groups.c.076i.inline
  29. 0 2602
      Debug_FLASH/FreeRTOS/Source/event_groups.c.077i.pure-const
  30. 506 697
      Debug_FLASH/FreeRTOS/Source/event_groups.c.078i.free-fnsummary2
  31. 0 1845
      Debug_FLASH/FreeRTOS/Source/event_groups.c.079i.static-var
  32. 506 697
      Debug_FLASH/FreeRTOS/Source/event_groups.c.080i.single-use
  33. 506 697
      Debug_FLASH/FreeRTOS/Source/event_groups.c.081i.comdats
  34. 506 697
      Debug_FLASH/FreeRTOS/Source/event_groups.c.082i.materialize-all-clones
  35. BIN
      Debug_FLASH/FreeRTOS/Source/event_groups.o
  36. 14 13
      Debug_FLASH/FreeRTOS/Source/event_groups.su
  37. 106 111
      Debug_FLASH/FreeRTOS/Source/list.c.000i.cgraph
  38. 18 61
      Debug_FLASH/FreeRTOS/Source/list.c.016i.visibility
  39. 3 46
      Debug_FLASH/FreeRTOS/Source/list.c.017i.build_ssa_passes
  40. 4 54
      Debug_FLASH/FreeRTOS/Source/list.c.022i.opt_local_passes
  41. 102 136
      Debug_FLASH/FreeRTOS/Source/list.c.048i.remove_symbols
  42. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.060i.targetclone
  43. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.064i.free-fnsummary1
  44. 102 137
      Debug_FLASH/FreeRTOS/Source/list.c.068i.whole-program
  45. 0 190
      Debug_FLASH/FreeRTOS/Source/list.c.069i.profile_estimate
  46. 0 236
      Debug_FLASH/FreeRTOS/Source/list.c.070i.icf
  47. 0 236
      Debug_FLASH/FreeRTOS/Source/list.c.071i.devirt
  48. 0 330
      Debug_FLASH/FreeRTOS/Source/list.c.072i.cp
  49. 97 275
      Debug_FLASH/FreeRTOS/Source/list.c.075i.fnsummary
  50. 114 287
      Debug_FLASH/FreeRTOS/Source/list.c.076i.inline
  51. 0 536
      Debug_FLASH/FreeRTOS/Source/list.c.077i.pure-const
  52. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.078i.free-fnsummary2
  53. 0 336
      Debug_FLASH/FreeRTOS/Source/list.c.079i.static-var
  54. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.080i.single-use
  55. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.081i.comdats
  56. 87 121
      Debug_FLASH/FreeRTOS/Source/list.c.082i.materialize-all-clones
  57. BIN
      Debug_FLASH/FreeRTOS/Source/list.o
  58. 5 5
      Debug_FLASH/FreeRTOS/Source/list.su
  59. 1 1
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.args
  60. 342 323
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.cgraph
  61. 2 5
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.ipa-clones
  62. 146 258
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.016i.visibility
  63. 81 200
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.017i.build_ssa_passes
  64. 118 248
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.022i.opt_local_passes
  65. 351 472
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.048i.remove_symbols
  66. 324 455
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.060i.targetclone
  67. 324 455
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.064i.free-fnsummary1
  68. 352 474
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.068i.whole-program
  69. 0 774
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.069i.profile_estimate
  70. 0 832
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.070i.icf
  71. 0 941
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.071i.devirt
  72. 0 1048
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.072i.cp
  73. 176 687
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.075i.fnsummary
  74. 360 592
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.076i.inline
  75. 0 1836
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.077i.pure-const
  76. 324 458
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.078i.free-fnsummary2
  77. 0 1200
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.079i.static-var
  78. 324 458
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.080i.single-use
  79. 324 458
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.081i.comdats
  80. 324 458
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.082i.materialize-all-clones
  81. BIN
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
  82. 10 10
      Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su
  83. 1 1
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.args
  84. 417 379
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.000i.cgraph
  85. 0 2
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.000i.ipa-clones
  86. 252 376
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.016i.visibility
  87. 188 321
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.017i.build_ssa_passes
  88. 266 439
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.022i.opt_local_passes
  89. 596 633
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.048i.remove_symbols
  90. 520 564
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.060i.targetclone
  91. 520 564
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.064i.free-fnsummary1
  92. 375 412
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.068i.whole-program
  93. 0 740
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.069i.profile_estimate
  94. 0 789
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.070i.icf
  95. 0 905
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.071i.devirt
  96. 0 938
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.072i.cp
  97. 279 613
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.075i.fnsummary
  98. 318 783
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.076i.inline
  99. 0 1428
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.077i.pure-const
  100. 520 564
      Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.078i.free-fnsummary2

+ 32 - 32
.cproject

@@ -16,18 +16,18 @@
 				<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.nxp.s32ds.cle.arm.mbs.arm32.bare.buildArtefact.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730" name="Debug_FLASH" parent="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug">
 					<folderInfo id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.exe.debug.843593730." name="/" resourcePath="">
 						<toolChain id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug.1688486903" name="NXP GCC 9.2 for Arm 32-bit Bare-Metal" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.toolchain.debug">
-							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.437875081" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" valueType="boolean"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.809726741" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.853632361" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.1406617346" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.1567292882" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.1488349558" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.1491297387" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
-							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.1080801459" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+							<option defaultValue="true" id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize.437875081" name="Print size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.addtools.printsize" useByScannerDiscovery="false" valueType="boolean"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path.809726741" name="Path" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.compiler.path" useByScannerDiscovery="false" value="${S32DS_K1_ARM32_GNU_9_2_TOOLCHAIN_DIR}" valueType="string"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.853632361" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.1406617346" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.1567292882" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.instructionset.thumb" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.1488349558" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.endianness.little" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.1491297387" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.abi.hard" valueType="enumerated"/>
+							<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.1080801459" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
 							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1254187428" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
 							<builder buildPath="${workspace_loc:/S32K144_BLE}/Debug_FLASH" id="com.freescale.s32ds.cross.gnu.builder.1599748491" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="FSL Make Builder" superClass="com.freescale.s32ds.cross.gnu.builder"/>
 							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler.1023612980" name="Standard S32DS C Compiler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.compiler">
-								<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.122111347" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
+								<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.122111347" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.none" valueType="enumerated"/>
 								<option defaultValue="gnu.c.debugging.level.max" id="gnu.c.compiler.option.debugging.level.568900740" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
 								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections.1444192837" name="Function sections (-ffunction-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.functionsections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
 								<option id="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections.50234450" name="Data sections (-fdata-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.compiler.option.optimization.datasections" useByScannerDiscovery="true" value="false" valueType="boolean"/>
@@ -98,20 +98,20 @@
 								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.1561310026" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.cpp.compiler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
 							</tool>
 							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker.1618945888" name="Standard S32DS C Linker" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.gnu.9.2.tool.c.linker">
-								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.1262581264" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" value="false" valueType="boolean"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.1331744268" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.1763442072" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.1348903460" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.1980505951" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" valueType="stringList">
+								<option id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections.1262581264" name="Remove unused sections (-Xlinker --gc-sections)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.gcsections" useByScannerDiscovery="false" value="false" valueType="boolean"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.1331744268" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot.1763442072" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.1348903460" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile.1980505951" name="Script files (-T)" superClass="com.freescale.s32ds.cross.gnu.tool.c.linker.option.scriptfile" useByScannerDiscovery="false" valueType="stringList">
 									<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files/linker_flash_s32k144.ld&quot;"/>
 								</option>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.646587435" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.839537644" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.2002662514" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.119043842" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
-								<option id="gnu.c.link.option.ldflags.1165336679" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
-								<option id="gnu.c.link.option.nostart.1481496412" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" value="true" valueType="boolean"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.2008063083" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.646587435" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.839537644" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.2002662514" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.119043842" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.c.linker.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="gnu.c.link.option.ldflags.1165336679" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="--entry=Reset_Handler -ggdb3" valueType="string"/>
+								<option id="gnu.c.link.option.nostart.1481496412" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.c.link.option.libs.2008063083" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false" valueType="libs">
 									<listOptionValue builtIn="false" value="c"/>
 									<listOptionValue builtIn="false" value="m"/>
 									<listOptionValue builtIn="false" value="gcc"/>
@@ -130,11 +130,11 @@
 							</tool>
 							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver.675178240" name="Standard S32DS Archiver" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.archiver"/>
 							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.1331032504" name="Standard S32DS Assembler" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler">
-								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.143934934" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" value="true" valueType="boolean"/>
-								<option defaultValue="gnu.c.debugging.level.max" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.1977347775" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.1953338141" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.1712297462" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
-								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.317203149" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+								<option id="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor.143934934" name="Use preprocessor" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>
+								<option defaultValue="gnu.c.debugging.level.max" id="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level.1977347775" name="Debug Level" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.option.debugging.level" useByScannerDiscovery="false" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.1953338141" name="Libraries support" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.libraries.newlib_nano_noio" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot.1712297462" name="Sysroot" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.sysroot" useByScannerDiscovery="false" value="--sysroot=&quot;${S32DS_ARM32_NEWLIB_DIR}&quot;" valueType="string"/>
+								<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.both.asm.option.include.paths.317203149" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
 									<listOptionValue builtIn="false" value="../RTD/include"/>
 									<listOptionValue builtIn="false" value="../FreeRTOS/Source/include"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS/Source/include}&quot;"/>
@@ -151,11 +151,11 @@
 									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${PLATFORMSDK_S32K1_2021_08_S32K144_M4F_1.0.0_PATH}/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include&quot;"/>
 								</option>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.854164039" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.951622983" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.1195916412" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.557807965" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
-								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.923103058" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.854164039" name="Arm family" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.mcpu.cortex-m4" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.951622983" name="Instruction set" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.instructionset.thumb" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.1195916412" name="Endianness" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness" useByScannerDiscovery="false" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.endianness.little" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.557807965" name="Float ABI" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.abi.hard" valueType="enumerated"/>
+								<option id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.923103058" name="FPU Type" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit" useByScannerDiscovery="true" value="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.assembler.option.target.fpu.unit.fpv4spd16" valueType="enumerated"/>
 								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.2085436898" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
 								<inputType id="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile.146802684" superClass="com.freescale.s32ds.cross.gnu.tool.assembler.inputType.asmfile"/>
 							</tool>
@@ -168,7 +168,7 @@
 								<option id="com.freescale.s32ds.cross.gnu.option.createlisting.wide.354162889" name="Wide lines (--wide|-w)" superClass="com.freescale.s32ds.cross.gnu.option.createlisting.wide" value="true" valueType="boolean"/>
 							</tool>
 							<tool id="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize.397612479" name="Standard S32DS Print Size" superClass="com.nxp.s32ds.cle.arm.mbs.arm32.bare.tool.printsize">
-								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.1798650691" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format"/>
+								<option id="com.freescale.s32ds.cross.gnu.option.printsize.format.1798650691" name="Size format" superClass="com.freescale.s32ds.cross.gnu.option.printsize.format" useByScannerDiscovery="false"/>
 							</tool>
 							<tool id="com.freescale.s32ds.cross.gnu.c.preprocessor.1723341826" name="Standard S32DS C Preprocessor" superClass="com.freescale.s32ds.cross.gnu.c.preprocessor"/>
 							<tool id="com.freescale.s32ds.cross.gnu.cpp.preprocessor.1464533459" name="Standard S32DS C++ Preprocessor" superClass="com.freescale.s32ds.cross.gnu.cpp.preprocessor"/>

+ 4 - 4
.settings/language.settings.xml

@@ -5,7 +5,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-47737520875934700" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="409960794755804213" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -16,7 +16,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-47737520875934700" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="409960794755804213" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -27,7 +27,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-47737520875934700" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="409960794755804213" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -38,7 +38,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-47737520875934700" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="409960794755804213" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>

+ 5 - 0
.vscode/settings.json

@@ -0,0 +1,5 @@
+{
+    "files.associations": {
+        "*.cp": "c"
+    }
+}

+ 1 - 1
Debug_FLASH/FreeRTOS/Source/croutine.args

@@ -16,7 +16,7 @@
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include"
--Os
+-O0
 -funsigned-char
 -fstack-usage
 -fdump-ipa-all

+ 12 - 12
Debug_FLASH/FreeRTOS/Source/croutine.c.000i.cgraph

@@ -2,36 +2,36 @@
 
 Initial Symbol table:
 
-vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b7db60
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b4db60
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b7d8c0
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b4d8c0
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b7d540
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b4d540
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b7d2a0
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b4d2a0
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
 

+ 0 - 1
Debug_FLASH/FreeRTOS/Source/croutine.c.068i.whole-program

@@ -7,7 +7,6 @@ Marking externally visible functions:
 
 Marking externally visible variables:
 
-Clearing variable flags:
 
 Reclaiming functions:
 Reclaiming variables:

+ 0 - 1
Debug_FLASH/FreeRTOS/Source/croutine.c.069i.profile_estimate

@@ -1 +0,0 @@
-Histogram:

+ 0 - 37
Debug_FLASH/FreeRTOS/Source/croutine.c.070i.icf

@@ -1,37 +0,0 @@
-Dump after hash based groups
-Congruence classes: 0 (unique hash values: 0), with total: 0 items
-Class size histogram [num of members]: number of classe number of classess
-
-
-Dump after WPA based types groups
-Congruence classes: 0 (unique hash values: 0), with total: 0 items
-Class size histogram [num of members]: number of classe number of classess
-
-
-Worklist has been filled with: 0
-Address reference subdivision created: 0 new classes.
-Dump after callgraph-based congruence reduction
-Congruence classes: 0 (unique hash values: 0), with total: 0 items
-Class size histogram [num of members]: number of classe number of classess
-
-
-Init called for 0 items (0.00%).
-Dump after full equality comparison of groups
-Congruence classes: 0 (unique hash values: 0), with total: 0 items
-Class size histogram [num of members]: number of classe number of classess
-
-
-Worklist has been filled with: 0
-Address reference subdivision created: 0 new classes.
-Congruence classes: 0 (unique hash values: 0), with total: 0 items
-Class size histogram [num of members]: number of classe number of classess
-
-
-
-Item count: 0
-Congruent classes before: 0, after: 0
-Average class size before: 0.00, after: 0.00
-Average non-singular class size: 0.00, count: 0
-Equal symbols: 0
-Fraction of visited symbols: 0.00%
-

+ 0 - 2
Debug_FLASH/FreeRTOS/Source/croutine.c.071i.devirt

@@ -1,2 +0,0 @@
-Symbol table:
-

+ 0 - 26
Debug_FLASH/FreeRTOS/Source/croutine.c.072i.cp

@@ -1,26 +0,0 @@
-
-IPA constant propagation start:
-
-IPA structures before propagation:
-
-Jump functions:
-
- Propagating constants:
-
-
-overall_size: 0, max_new_size: 11001
-
-IPA lattices after all propagation:
-
-Lattices:
-
-IPA decision stage:
-
-
-IPA constant propagation end
-
-Reclaiming functions:
-Reclaiming variables:
-Clearing address taken flags:
-Symbol table:
-

+ 0 - 18
Debug_FLASH/FreeRTOS/Source/croutine.c.077i.pure-const

@@ -1,18 +0,0 @@
-callgraph:
-
-
-
- ordered call graph: reduced for nothrow
-
-
-
-MALLOC LATTICE Initial:
-
-
-MALLOC LATTICE after propagation:
-callgraph:
-
-
-
- ordered call graph: reduced
-

+ 0 - 7
Debug_FLASH/FreeRTOS/Source/croutine.c.079i.static-var

@@ -1,7 +0,0 @@
-callgraph:
-
-Clearing variable flags:
-
-
- ordered call graph: reduced
-

BIN
Debug_FLASH/FreeRTOS/Source/croutine.o


File diff suppressed because it is too large
+ 320 - 320
Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.cgraph


+ 12 - 18
Debug_FLASH/FreeRTOS/Source/event_groups.c.000i.ipa-clones

@@ -1,32 +1,26 @@
-Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
-Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
-Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
-Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
-Callgraph clone;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13;part
 Callgraph clone;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34;xEventGroupGetBitsFromISR;9;../FreeRTOS/Source/event_groups.c;517;13;inlining to
 Callgraph clone;ulPortRaiseBASEPRI;2;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;210;38;xEventGroupGetBitsFromISR;9;../FreeRTOS/Source/event_groups.c;517;13;inlining to
 Callgraph removal;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;230;34
 Callgraph removal;ulPortRaiseBASEPRI;2;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;210;38
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
-Callgraph removal;vPortRaiseBASEPRI;38;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph removal;vPortRaiseBASEPRI;37;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph clone;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13;part
+Callgraph removal;vPortRaiseBASEPRI;33;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;32;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupSync;5;../FreeRTOS/Source/event_groups.c;194;13;inlining to
-Callgraph removal;vPortRaiseBASEPRI;40;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;35;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;34;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vEventGroupDelete;11;../FreeRTOS/Source/event_groups.c;628;6;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vEventGroupDelete;11;../FreeRTOS/Source/event_groups.c;628;6;inlining to
+Callgraph removal;vPortRaiseBASEPRI;38;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;37;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
+Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
 Callgraph removal;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph removal;vPortRaiseBASEPRI;43;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph clone;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13;xEventGroupClearBits;7;../FreeRTOS/Source/event_groups.c;473;13;inlining to
-Callgraph clone;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
-Callgraph clone;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19;xEventGroupWaitBits;6;../FreeRTOS/Source/event_groups.c;317;13;inlining to
-Callgraph clone;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13;xEventGroupSetBits;10;../FreeRTOS/Source/event_groups.c;533;13;inlining to
-Callgraph removal;prvTestWaitCondition;44;../FreeRTOS/Source/event_groups.c;690;19
-Callgraph removal;prvTestWaitCondition;14;../FreeRTOS/Source/event_groups.c;690;19
-Callgraph removal;xEventGroupClearBits.part.0;36;../FreeRTOS/Source/event_groups.c;473;13
-Callgraph removal;xEventGroupSetBits.part.0;39;../FreeRTOS/Source/event_groups.c;533;13
+Callgraph removal;vPortRaiseBASEPRI;40;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;39;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34

File diff suppressed because it is too large
+ 113 - 269
Debug_FLASH/FreeRTOS/Source/event_groups.c.016i.visibility


+ 51 - 279
Debug_FLASH/FreeRTOS/Source/event_groups.c.017i.build_ssa_passes

@@ -1,7 +1,6 @@
 vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   MEM[(struct EventGroup_t *)xEventGroup].uxEventGroupNumber = uxEventGroupNumber;
   return;
 
@@ -15,27 +14,24 @@ uxEventGroupGetNumber (void * xEventGroup)
   UBaseType_t D.6566;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
   if (xEventGroup == 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   xReturn = 0;
   goto <bb 5>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   xReturn = pxEventBits->uxEventGroupNumber;
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   D.6566 = xReturn;
+
+  <bb 6> :
+<L3>:
   return D.6566;
 
 }
@@ -47,12 +43,11 @@ xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits
   BaseType_t D.6561;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xReturn = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken);
-  # DEBUG BEGIN_STMT
   D.6561 = xReturn;
+
+  <bb 3> :
+<L0>:
   return D.6561;
 
 }
@@ -61,19 +56,16 @@ xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits
 prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
 {
   BaseType_t xWaitConditionMet;
-  BaseType_t D.6523;
+  BaseType_t D.6559;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   xWaitConditionMet = 0;
-  # DEBUG BEGIN_STMT
   if (xWaitForAllBits == 0)
     goto <bb 3>; [INV]
   else
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _1 = uxCurrentEventBits & uxBitsToWaitFor;
   if (_1 != 0)
     goto <bb 4>; [INV]
@@ -81,12 +73,10 @@ prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t ux
     goto <bb 7>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   xWaitConditionMet = 1;
   goto <bb 7>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   _2 = uxCurrentEventBits & uxBitsToWaitFor;
   if (uxBitsToWaitFor == _2)
     goto <bb 6>; [INV]
@@ -94,14 +84,14 @@ prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t ux
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   xWaitConditionMet = 1;
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  D.6523 = xWaitConditionMet;
-  return D.6523;
+  D.6559 = xWaitConditionMet;
+
+  <bb 8> :
+<L9>:
+  return D.6559;
 
 }
 
@@ -109,7 +99,6 @@ prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t ux
 vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   xEventGroupClearBits (pvEventGroup, ulBitsToClear);
   return;
 
@@ -119,7 +108,6 @@ vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
 vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   xEventGroupSetBits (pvEventGroup, ulBitsToSet);
   return;
 
@@ -132,36 +120,24 @@ vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
   struct EventGroup_t * pxEventBits;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   if (xEventGroup == 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
   pxTasksWaitingForBits = &pxEventBits->xTasksWaitingForBits;
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 10>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   _1 = pxTasksWaitingForBits->xListEnd.pxNext;
   _2 = &pxTasksWaitingForBits->xListEnd;
   if (_1 == _2)
@@ -170,23 +146,16 @@ vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
     goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _3 = pxTasksWaitingForBits->xListEnd.pxNext;
   vTaskRemoveFromUnorderedEventList (_3, 33554432);
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
   _4 = pxTasksWaitingForBits->uxNumberOfItems;
   if (_4 != 0)
     goto <bb 6>; [INV]
@@ -194,9 +163,7 @@ vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
     goto <bb 11>; [INV]
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
   vPortFree (pxEventBits);
-  # DEBUG BEGIN_STMT
   xTaskResumeAll ();
   return;
 
@@ -214,37 +181,24 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
   const struct ListItem_t * pxListEnd;
   struct ListItem_t * pxNext;
   struct ListItem_t * pxListItem;
-  EventBits_t D.6555;
+  EventBits_t D.6544;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxBitsToClear = 0;
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
   xMatchFound = 0;
-  # DEBUG BEGIN_STMT
   if (xEventGroup == 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _1 = uxBitsToSet & 4278190080;
   if (_1 != 0)
     goto <bb 6>; [INV]
@@ -252,45 +206,27 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
     goto <bb 8>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 7>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxList = &pxEventBits->xTasksWaitingForBits;
-  # DEBUG BEGIN_STMT
   pxListEnd = &pxList->xListEnd;
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxListItem = pxList->xListEnd.pxNext;
-  # DEBUG BEGIN_STMT
   _2 = pxEventBits->uxEventBits;
   _3 = uxBitsToSet | _2;
   pxEventBits->uxEventBits = _3;
-  # DEBUG BEGIN_STMT
   goto <bb 19>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   pxNext = pxListItem->pxNext;
-  # DEBUG BEGIN_STMT
   uxBitsWaitedFor = pxListItem->xItemValue;
-  # DEBUG BEGIN_STMT
   xMatchFound = 0;
-  # DEBUG BEGIN_STMT
   uxControlBits = uxBitsWaitedFor & 4278190080;
-  # DEBUG BEGIN_STMT
   uxBitsWaitedFor = uxBitsWaitedFor & 16777215;
-  # DEBUG BEGIN_STMT
   _4 = uxControlBits & 67108864;
   if (_4 == 0)
     goto <bb 10>; [INV]
@@ -298,7 +234,6 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
     goto <bb 12>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
   _5 = pxEventBits->uxEventBits;
   _6 = uxBitsWaitedFor & _5;
   if (_6 != 0)
@@ -307,12 +242,10 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
     goto <bb 14>; [INV]
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
   xMatchFound = 1;
   goto <bb 14>; [INV]
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
   _7 = pxEventBits->uxEventBits;
   _8 = uxBitsWaitedFor & _7;
   if (uxBitsWaitedFor == _8)
@@ -321,19 +254,15 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
     goto <bb 14>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
   xMatchFound = 1;
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xMatchFound != 0)
     goto <bb 15>; [INV]
   else
     goto <bb 18>; [INV]
 
   <bb 15> :
-  # DEBUG BEGIN_STMT
   _9 = uxControlBits & 16777216;
   if (_9 != 0)
     goto <bb 16>; [INV]
@@ -341,38 +270,33 @@ xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBi
     goto <bb 17>; [INV]
 
   <bb 16> :
-  # DEBUG BEGIN_STMT
   uxBitsToClear = uxBitsToClear | uxBitsWaitedFor;
 
   <bb 17> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _10 = pxEventBits->uxEventBits;
   _11 = _10 | 33554432;
   vTaskRemoveFromUnorderedEventList (pxListItem, _11);
 
   <bb 18> :
-  # DEBUG BEGIN_STMT
   pxListItem = pxNext;
 
   <bb 19> :
-  # DEBUG BEGIN_STMT
   if (pxListItem != pxListEnd)
     goto <bb 9>; [INV]
   else
     goto <bb 20>; [INV]
 
   <bb 20> :
-  # DEBUG BEGIN_STMT
   _12 = pxEventBits->uxEventBits;
   _13 = ~uxBitsToClear;
   _14 = _12 & _13;
   pxEventBits->uxEventBits = _14;
-  # DEBUG BEGIN_STMT
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  D.6555 = pxEventBits->uxEventBits;
-  return D.6555;
+  D.6544 = pxEventBits->uxEventBits;
+
+  <bb 21> :
+<L23>:
+  return D.6544;
 
 }
 
@@ -382,22 +306,18 @@ xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
   EventBits_t uxReturn;
   const struct EventGroup_t * const pxEventBits;
   UBaseType_t uxSavedInterruptStatus;
-  EventBits_t D.6533;
+  EventBits_t D.6522;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   uxReturn = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (uxSavedInterruptStatus);
-  # DEBUG BEGIN_STMT
-  D.6533 = uxReturn;
-  return D.6533;
+  D.6522 = uxReturn;
+
+  <bb 3> :
+<L0>:
+  return D.6522;
 
 }
 
@@ -405,16 +325,15 @@ xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
 xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
 {
   BaseType_t xReturn;
-  BaseType_t D.6531;
+  BaseType_t D.6520;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xReturn = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup, uxBitsToClear, 0B);
-  # DEBUG BEGIN_STMT
-  D.6531 = xReturn;
-  return D.6531;
+  D.6520 = xReturn;
+
+  <bb 3> :
+<L0>:
+  return D.6520;
 
 }
 
@@ -423,31 +342,22 @@ xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t ux
 {
   EventBits_t uxReturn;
   struct EventGroup_t * pxEventBits;
-  EventBits_t D.6529;
+  EventBits_t D.6518;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xEventGroup == 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _1 = uxBitsToClear & 4278190080;
   if (_1 != 0)
     goto <bb 6>; [INV]
@@ -455,32 +365,24 @@ xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t ux
     goto <bb 8>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 7>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxReturn = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   _2 = pxEventBits->uxEventBits;
   _3 = ~uxBitsToClear;
   _4 = _2 & _3;
   pxEventBits->uxEventBits = _4;
-  # DEBUG BEGIN_STMT
   vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  D.6529 = uxReturn;
-  return D.6529;
+  D.6518 = uxReturn;
+
+  <bb 9> :
+<L6>:
+  return D.6518;
 
 }
 
@@ -498,32 +400,21 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
   int iftmp.1;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
   uxControlBits = 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 0;
-  # DEBUG BEGIN_STMT
   if (xEventGroup == 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _1 = uxBitsToWaitFor & 4278190080;
   if (_1 != 0)
     goto <bb 6>; [INV]
@@ -531,36 +422,24 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
     goto <bb 8>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 7>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (uxBitsToWaitFor == 0)
     goto <bb 9>; [INV]
   else
     goto <bb 11>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 10>; [INV]
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = xTaskGetSchedulerState ();
   if (_2 != 0)
     goto <bb 13>; [INV]
@@ -587,42 +466,29 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
     goto <bb 18>; [INV]
 
   <bb 16> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 17> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 17>; [INV]
 
   <bb 18> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   uxCurrentEventBits = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   xWaitConditionMet = prvTestWaitCondition (uxCurrentEventBits, uxBitsToWaitFor, xWaitForAllBits);
-  # DEBUG BEGIN_STMT
   if (xWaitConditionMet != 0)
     goto <bb 19>; [INV]
   else
     goto <bb 21>; [INV]
 
   <bb 19> :
-  # DEBUG BEGIN_STMT
   uxReturn = uxCurrentEventBits;
-  # DEBUG BEGIN_STMT
   xTicksToWait = 0;
-  # DEBUG BEGIN_STMT
   if (xClearOnExit != 0)
     goto <bb 20>; [INV]
   else
     goto <bb 28>; [INV]
 
   <bb 20> :
-  # DEBUG BEGIN_STMT
   _3 = pxEventBits->uxEventBits;
   _4 = ~uxBitsToWaitFor;
   _5 = _3 & _4;
@@ -630,83 +496,61 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
   goto <bb 28>; [INV]
 
   <bb 21> :
-  # DEBUG BEGIN_STMT
   if (xTicksToWait == 0)
     goto <bb 22>; [INV]
   else
     goto <bb 23>; [INV]
 
   <bb 22> :
-  # DEBUG BEGIN_STMT
   uxReturn = uxCurrentEventBits;
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 1;
   goto <bb 28>; [INV]
 
   <bb 23> :
-  # DEBUG BEGIN_STMT
   if (xClearOnExit != 0)
     goto <bb 24>; [INV]
   else
     goto <bb 25>; [INV]
 
   <bb 24> :
-  # DEBUG BEGIN_STMT
   uxControlBits = uxControlBits | 16777216;
 
   <bb 25> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xWaitForAllBits != 0)
     goto <bb 26>; [INV]
   else
     goto <bb 27>; [INV]
 
   <bb 26> :
-  # DEBUG BEGIN_STMT
   uxControlBits = uxControlBits | 67108864;
 
   <bb 27> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _6 = &pxEventBits->xTasksWaitingForBits;
   _7 = uxBitsToWaitFor | uxControlBits;
   vTaskPlaceOnUnorderedEventList (_6, _7, xTicksToWait);
-  # DEBUG BEGIN_STMT
   uxReturn = 0;
 
   <bb 28> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xAlreadyYielded = xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
   if (xTicksToWait != 0)
     goto <bb 29>; [INV]
   else
     goto <bb 37>; [INV]
 
   <bb 29> :
-  # DEBUG BEGIN_STMT
   if (xAlreadyYielded == 0)
     goto <bb 30>; [INV]
   else
     goto <bb 31>; [INV]
 
   <bb 30> :
-  # DEBUG BEGIN_STMT
   _8 = 3758157060B;
   *_8 = 268435456;
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
 
   <bb 31> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxReturn = uxTaskResetEventItemValue ();
-  # DEBUG BEGIN_STMT
   _9 = uxReturn & 33554432;
   if (_9 == 0)
     goto <bb 32>; [INV]
@@ -714,11 +558,8 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
     goto <bb 36>; [INV]
 
   <bb 32> :
-  # DEBUG BEGIN_STMT
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
   uxReturn = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   _10 = prvTestWaitCondition (uxReturn, uxBitsToWaitFor, xWaitForAllBits);
   if (_10 != 0)
     goto <bb 33>; [INV]
@@ -726,36 +567,29 @@ xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxB
     goto <bb 35>; [INV]
 
   <bb 33> :
-  # DEBUG BEGIN_STMT
   if (xClearOnExit != 0)
     goto <bb 34>; [INV]
   else
     goto <bb 35>; [INV]
 
   <bb 34> :
-  # DEBUG BEGIN_STMT
   _11 = pxEventBits->uxEventBits;
   _12 = ~uxBitsToWaitFor;
   _13 = _11 & _12;
   pxEventBits->uxEventBits = _13;
 
   <bb 35> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 1;
-  # DEBUG BEGIN_STMT
   vPortExitCritical ();
 
   <bb 36> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxReturn = uxReturn & 16777215;
 
   <bb 37> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   D.6512 = uxReturn;
+
+  <bb 38> :
+<L45>:
   return D.6512;
 
 }
@@ -772,13 +606,8 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
   int iftmp.0;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxEventBits = xEventGroup;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 0;
-  # DEBUG BEGIN_STMT
   _1 = uxBitsToWaitFor & 4278190080;
   if (_1 != 0)
     goto <bb 3>; [INV]
@@ -786,36 +615,24 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (uxBitsToWaitFor == 0)
     goto <bb 6>; [INV]
   else
     goto <bb 8>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 7>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = xTaskGetSchedulerState ();
   if (_2 != 0)
     goto <bb 10>; [INV]
@@ -842,24 +659,15 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
     goto <bb 15>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 14>; [INV]
 
   <bb 15> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   uxOriginalBitValue = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   xEventGroupSetBits (xEventGroup, uxBitsToSet);
-  # DEBUG BEGIN_STMT
   _3 = uxOriginalBitValue | uxBitsToSet;
   _4 = uxBitsToWaitFor & _3;
   if (uxBitsToWaitFor == _4)
@@ -868,71 +676,52 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
     goto <bb 17>; [INV]
 
   <bb 16> :
-  # DEBUG BEGIN_STMT
   uxReturn = uxOriginalBitValue | uxBitsToSet;
-  # DEBUG BEGIN_STMT
   _5 = pxEventBits->uxEventBits;
   _6 = ~uxBitsToWaitFor;
   _7 = _5 & _6;
   pxEventBits->uxEventBits = _7;
-  # DEBUG BEGIN_STMT
   xTicksToWait = 0;
   goto <bb 20>; [INV]
 
   <bb 17> :
-  # DEBUG BEGIN_STMT
   if (xTicksToWait != 0)
     goto <bb 18>; [INV]
   else
     goto <bb 19>; [INV]
 
   <bb 18> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _8 = &pxEventBits->xTasksWaitingForBits;
   _9 = uxBitsToWaitFor | 83886080;
   vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait);
-  # DEBUG BEGIN_STMT
   uxReturn = 0;
   goto <bb 20>; [INV]
 
   <bb 19> :
-  # DEBUG BEGIN_STMT
   uxReturn = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 1;
 
   <bb 20> :
-  # DEBUG BEGIN_STMT
   xAlreadyYielded = xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
   if (xTicksToWait != 0)
     goto <bb 21>; [INV]
   else
     goto <bb 28>; [INV]
 
   <bb 21> :
-  # DEBUG BEGIN_STMT
   if (xAlreadyYielded == 0)
     goto <bb 22>; [INV]
   else
     goto <bb 23>; [INV]
 
   <bb 22> :
-  # DEBUG BEGIN_STMT
   _10 = 3758157060B;
   *_10 = 268435456;
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
 
   <bb 23> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxReturn = uxTaskResetEventItemValue ();
-  # DEBUG BEGIN_STMT
   _11 = uxReturn & 33554432;
   if (_11 == 0)
     goto <bb 24>; [INV]
@@ -940,11 +729,8 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
     goto <bb 27>; [INV]
 
   <bb 24> :
-  # DEBUG BEGIN_STMT
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
   uxReturn = pxEventBits->uxEventBits;
-  # DEBUG BEGIN_STMT
   _12 = uxReturn & uxBitsToWaitFor;
   if (uxBitsToWaitFor == _12)
     goto <bb 25>; [INV]
@@ -952,29 +738,23 @@ xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsT
     goto <bb 26>; [INV]
 
   <bb 25> :
-  # DEBUG BEGIN_STMT
   _13 = pxEventBits->uxEventBits;
   _14 = ~uxBitsToWaitFor;
   _15 = _13 & _14;
   pxEventBits->uxEventBits = _15;
 
   <bb 26> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vPortExitCritical ();
-  # DEBUG BEGIN_STMT
   xTimeoutOccurred = 1;
 
   <bb 27> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxReturn = uxReturn & 16777215;
 
   <bb 28> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   D.6468 = uxReturn;
+
+  <bb 29> :
+<L30>:
   return D.6468;
 
 }
@@ -986,27 +766,22 @@ xEventGroupCreate ()
   struct EventGroupDef_t * D.6438;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxEventBits = pvPortMalloc (28);
-  # DEBUG BEGIN_STMT
   if (pxEventBits != 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   pxEventBits->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
   _1 = &pxEventBits->xTasksWaitingForBits;
   vListInitialise (_1);
-  # DEBUG BEGIN_STMT
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   D.6438 = pxEventBits;
+
+  <bb 5> :
+<L3>:
   return D.6438;
 
 }
@@ -1016,7 +791,6 @@ __attribute__((always_inline))
 vPortSetBASEPRI (uint32_t ulNewMaskValue)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
   return;
 
@@ -1028,20 +802,20 @@ ulPortRaiseBASEPRI ()
 {
   uint32_t ulNewBASEPRI;
   uint32_t ulOriginalBASEPRI;
-  uint32_t D.6535;
+  uint32_t D.6524;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mrs %0, basepri											
 	mov %1, %2												
 	msr basepri, %1											
 	isb														
 	dsb														
 " : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory");
-  # DEBUG BEGIN_STMT
-  D.6535 = ulOriginalBASEPRI;
-  return D.6535;
+  D.6524 = ulOriginalBASEPRI;
+
+  <bb 3> :
+<L0>:
+  return D.6524;
 
 }
 
@@ -1052,8 +826,6 @@ vPortRaiseBASEPRI ()
   uint32_t ulNewBASEPRI;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														

File diff suppressed because it is too large
+ 35 - 311
Debug_FLASH/FreeRTOS/Source/event_groups.c.022i.opt_local_passes


File diff suppressed because it is too large
+ 370 - 503
Debug_FLASH/FreeRTOS/Source/event_groups.c.048i.remove_symbols


File diff suppressed because it is too large
+ 510 - 693
Debug_FLASH/FreeRTOS/Source/event_groups.c.060i.targetclone


File diff suppressed because it is too large
+ 510 - 693
Debug_FLASH/FreeRTOS/Source/event_groups.c.064i.free-fnsummary1


File diff suppressed because it is too large
+ 368 - 506
Debug_FLASH/FreeRTOS/Source/event_groups.c.068i.whole-program


+ 0 - 1237
Debug_FLASH/FreeRTOS/Source/event_groups.c.069i.profile_estimate

@@ -1,1237 +0,0 @@
-Histogram:
-xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  struct ListItem_t * pxListItem;
-  struct ListItem_t * pxNext;
-  const struct ListItem_t * pxListEnd;
-  const struct List_t * pxList;
-  EventBits_t uxBitsToClear;
-  EventBits_t uxBitsWaitedFor;
-  EventBits_t uxControlBits;
-  struct EventGroup_t * pxEventBits;
-  BaseType_t xMatchFound;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _6;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-  long unsigned int _14;
-  long unsigned int _15;
-  long unsigned int _16;
-  long unsigned int _19;
-  long unsigned int _20;
-  long unsigned int _21;
-  long unsigned int _23;
-  long unsigned int _24;
-  long unsigned int _25;
-
-  <bb 12> [local count: 118111600]:
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
-  # DEBUG pxList => D#1
-  # DEBUG BEGIN_STMT
-  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  # DEBUG pxListEnd => pxListEnd_2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-  # DEBUG pxListItem => pxListItem_3
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _6 = _4 | uxBitsToSet_5(D);
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 3> [local count: 955630223]:
-  # DEBUG BEGIN_STMT
-  pxNext_8 = pxListItem_7->pxNext;
-  # DEBUG pxNext => pxNext_8
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsWaitedFor_9 & 67108864;
-  if (_11 == 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 4> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _13 = uxBitsWaitedFor_10 & _12;
-  if (_13 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 9>; [50.00%]
-
-  <bb 5> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _15 = uxBitsWaitedFor_10 & _14;
-  if (uxBitsWaitedFor_10 == _15)
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 9>; [66.00%]
-
-  <bb 6> [local count: 401364694]:
-  # DEBUG xMatchFound => NULL
-  # DEBUG BEGIN_STMT
-  _16 = uxBitsWaitedFor_9 & 16777216;
-  if (_16 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 200682347]:
-  # DEBUG BEGIN_STMT
-  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  # DEBUG uxBitsToClear => uxBitsToClear_18
-
-  <bb 8> [local count: 401364694]:
-  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
-  # DEBUG uxBitsToClear => uxBitsToClear_26
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _20 = _19 | 33554432;
-  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-
-  <bb 9> [local count: 955630225]:
-  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
-  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
-
-  <bb 10> [local count: 1073741824]:
-  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
-  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
-  # DEBUG xMatchFound => NULL
-  # DEBUG uxBitsToClear => uxBitsToClear_17
-  # DEBUG pxListItem => pxListItem_7
-  # DEBUG BEGIN_STMT
-  if (pxListEnd_2 != pxListItem_7)
-    goto <bb 3>; [89.00%]
-  else
-    goto <bb 11>; [11.00%]
-
-  <bb 11> [local count: 118111601]:
-  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
-  # DEBUG BEGIN_STMT
-  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _23 = ~uxBitsToClear_22;
-  _24 = _21 & _23;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  return _25;
-
-}
-
-
-xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  struct EventGroup_t * pxEventBits;
-  EventBits_t uxReturn;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 3> [local count: 1073741824]:
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_2
-  # DEBUG BEGIN_STMT
-  _4 = ~uxBitsToClear_3(D);
-  _5 = uxReturn_2 & _4;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  return uxReturn_2;
-
-}
-
-
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
-{
-  BaseType_t xWaitConditionMet;
-  long unsigned int _1;
-  long unsigned int _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 0
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_4(D) == 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_1 != 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 7>; [50.00%]
-
-  <bb 4> [local count: 268435456]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-  goto <bb 7>; [100.00%]
-
-  <bb 5> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_2 == uxBitsToWaitFor_6(D))
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 7>; [66.00%]
-
-  <bb 6> [local count: 182536110]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-
-  <bb 7> [local count: 1073741824]:
-  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
-  # DEBUG xWaitConditionMet => xWaitConditionMet_3
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return xWaitConditionMet_3;
-
-}
-
-
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-

+ 0 - 1296
Debug_FLASH/FreeRTOS/Source/event_groups.c.070i.icf

@@ -1,1296 +0,0 @@
-Parsed function:xEventGroupSetBits.part.0
-Parsed function:xEventGroupClearBits.part.0
-Parsed function:vEventGroupSetNumber
-Parsed function:uxEventGroupGetNumber
-Parsed function:xEventGroupSetBitsFromISR
-Parsed function:prvTestWaitCondition
-Parsed function:vEventGroupClearBitsCallback
-Parsed function:vEventGroupSetBitsCallback
-Parsed function:vEventGroupDelete
-Parsed function:xEventGroupSetBits
-Parsed function:xEventGroupGetBitsFromISR
-Parsed function:xEventGroupClearBitsFromISR
-Parsed function:xEventGroupClearBits
-Parsed function:xEventGroupWaitBits
-Parsed function:xEventGroupSync
-Parsed function:xEventGroupCreate
-Dump after hash based groups
-Congruence classes: 14 (unique hash values: 14), with total: 16 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 12 classes
-[2]: 2 classes
-
-
-Dump after WPA based types groups
-Congruence classes: 14 (unique hash values: 14), with total: 16 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 12 classes
-[2]: 2 classes
-
-
-Worklist has been filled with: 5
-Address reference subdivision created: 0 new classes.
-Dump after callgraph-based congruence reduction
-Congruence classes: 16 (unique hash values: 14), with total: 16 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 16 classes
-
-
-Init called for 0 items (0.00%).
-Dump after full equality comparison of groups
-Congruence classes: 16 (unique hash values: 14), with total: 16 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 16 classes
-
-
-Worklist has been filled with: 7
-Address reference subdivision created: 0 new classes.
-Congruence classes: 16 (unique hash values: 14), with total: 16 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 16 classes
-
-
-
-Item count: 16
-Congruent classes before: 16, after: 16
-Average class size before: 1.00, after: 1.00
-Average non-singular class size: 0.00, count: 0
-Equal symbols: 0
-Fraction of visited symbols: 0.00%
-
-xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  struct ListItem_t * pxListItem;
-  struct ListItem_t * pxNext;
-  const struct ListItem_t * pxListEnd;
-  const struct List_t * pxList;
-  EventBits_t uxBitsToClear;
-  EventBits_t uxBitsWaitedFor;
-  EventBits_t uxControlBits;
-  struct EventGroup_t * pxEventBits;
-  BaseType_t xMatchFound;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _6;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-  long unsigned int _14;
-  long unsigned int _15;
-  long unsigned int _16;
-  long unsigned int _19;
-  long unsigned int _20;
-  long unsigned int _21;
-  long unsigned int _23;
-  long unsigned int _24;
-  long unsigned int _25;
-
-  <bb 12> [local count: 118111600]:
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
-  # DEBUG pxList => D#1
-  # DEBUG BEGIN_STMT
-  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  # DEBUG pxListEnd => pxListEnd_2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-  # DEBUG pxListItem => pxListItem_3
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _6 = _4 | uxBitsToSet_5(D);
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 3> [local count: 955630223]:
-  # DEBUG BEGIN_STMT
-  pxNext_8 = pxListItem_7->pxNext;
-  # DEBUG pxNext => pxNext_8
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsWaitedFor_9 & 67108864;
-  if (_11 == 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 4> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _13 = uxBitsWaitedFor_10 & _12;
-  if (_13 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 9>; [50.00%]
-
-  <bb 5> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _15 = uxBitsWaitedFor_10 & _14;
-  if (uxBitsWaitedFor_10 == _15)
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 9>; [66.00%]
-
-  <bb 6> [local count: 401364694]:
-  # DEBUG xMatchFound => NULL
-  # DEBUG BEGIN_STMT
-  _16 = uxBitsWaitedFor_9 & 16777216;
-  if (_16 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 200682347]:
-  # DEBUG BEGIN_STMT
-  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  # DEBUG uxBitsToClear => uxBitsToClear_18
-
-  <bb 8> [local count: 401364694]:
-  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
-  # DEBUG uxBitsToClear => uxBitsToClear_26
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _20 = _19 | 33554432;
-  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-
-  <bb 9> [local count: 955630225]:
-  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
-  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
-
-  <bb 10> [local count: 1073741824]:
-  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
-  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
-  # DEBUG xMatchFound => NULL
-  # DEBUG uxBitsToClear => uxBitsToClear_17
-  # DEBUG pxListItem => pxListItem_7
-  # DEBUG BEGIN_STMT
-  if (pxListEnd_2 != pxListItem_7)
-    goto <bb 3>; [89.00%]
-  else
-    goto <bb 11>; [11.00%]
-
-  <bb 11> [local count: 118111601]:
-  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
-  # DEBUG BEGIN_STMT
-  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _23 = ~uxBitsToClear_22;
-  _24 = _21 & _23;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  return _25;
-
-}
-
-
-xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  struct EventGroup_t * pxEventBits;
-  EventBits_t uxReturn;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 3> [local count: 1073741824]:
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_2
-  # DEBUG BEGIN_STMT
-  _4 = ~uxBitsToClear_3(D);
-  _5 = uxReturn_2 & _4;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  return uxReturn_2;
-
-}
-
-
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
-{
-  BaseType_t xWaitConditionMet;
-  long unsigned int _1;
-  long unsigned int _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 0
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_4(D) == 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_1 != 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 7>; [50.00%]
-
-  <bb 4> [local count: 268435456]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-  goto <bb 7>; [100.00%]
-
-  <bb 5> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_2 == uxBitsToWaitFor_6(D))
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 7>; [66.00%]
-
-  <bb 6> [local count: 182536110]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-
-  <bb 7> [local count: 1073741824]:
-  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
-  # DEBUG xWaitConditionMet => xWaitConditionMet_3
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return xWaitConditionMet_3;
-
-}
-
-
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-

+ 0 - 1492
Debug_FLASH/FreeRTOS/Source/event_groups.c.071i.devirt

@@ -1,1492 +0,0 @@
-Symbol table:
-
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
-vPortFree/29 (vPortFree) @06c04b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
-  Calls: 
-vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06c049a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
-  Calls: 
-xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06c04460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vPortExitCritical/26 (vPortExitCritical) @06be2d20
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vPortEnterCritical/25 (vPortEnterCritical) @06be2c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06be2b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
-  Calls: 
-xTaskResumeAll/23 (xTaskResumeAll) @06be2a80
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06be29a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06be28c0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06be27e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
-  Calls: 
-vListInitialise/19 (vListInitialise) @06be2460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
-  Calls: 
-pvPortMalloc/18 (pvPortMalloc) @06be2380
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  struct ListItem_t * pxListItem;
-  struct ListItem_t * pxNext;
-  const struct ListItem_t * pxListEnd;
-  const struct List_t * pxList;
-  EventBits_t uxBitsToClear;
-  EventBits_t uxBitsWaitedFor;
-  EventBits_t uxControlBits;
-  struct EventGroup_t * pxEventBits;
-  BaseType_t xMatchFound;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _6;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-  long unsigned int _14;
-  long unsigned int _15;
-  long unsigned int _16;
-  long unsigned int _19;
-  long unsigned int _20;
-  long unsigned int _21;
-  long unsigned int _23;
-  long unsigned int _24;
-  long unsigned int _25;
-
-  <bb 12> [local count: 118111600]:
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
-  # DEBUG pxList => D#1
-  # DEBUG BEGIN_STMT
-  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  # DEBUG pxListEnd => pxListEnd_2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-  # DEBUG pxListItem => pxListItem_3
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _6 = _4 | uxBitsToSet_5(D);
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 3> [local count: 955630223]:
-  # DEBUG BEGIN_STMT
-  pxNext_8 = pxListItem_7->pxNext;
-  # DEBUG pxNext => pxNext_8
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsWaitedFor_9 & 67108864;
-  if (_11 == 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 4> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _13 = uxBitsWaitedFor_10 & _12;
-  if (_13 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 9>; [50.00%]
-
-  <bb 5> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _15 = uxBitsWaitedFor_10 & _14;
-  if (uxBitsWaitedFor_10 == _15)
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 9>; [66.00%]
-
-  <bb 6> [local count: 401364694]:
-  # DEBUG xMatchFound => NULL
-  # DEBUG BEGIN_STMT
-  _16 = uxBitsWaitedFor_9 & 16777216;
-  if (_16 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 200682347]:
-  # DEBUG BEGIN_STMT
-  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  # DEBUG uxBitsToClear => uxBitsToClear_18
-
-  <bb 8> [local count: 401364694]:
-  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
-  # DEBUG uxBitsToClear => uxBitsToClear_26
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _20 = _19 | 33554432;
-  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-
-  <bb 9> [local count: 955630225]:
-  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
-  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
-
-  <bb 10> [local count: 1073741824]:
-  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
-  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
-  # DEBUG xMatchFound => NULL
-  # DEBUG uxBitsToClear => uxBitsToClear_17
-  # DEBUG pxListItem => pxListItem_7
-  # DEBUG BEGIN_STMT
-  if (pxListEnd_2 != pxListItem_7)
-    goto <bb 3>; [89.00%]
-  else
-    goto <bb 11>; [11.00%]
-
-  <bb 11> [local count: 118111601]:
-  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
-  # DEBUG BEGIN_STMT
-  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _23 = ~uxBitsToClear_22;
-  _24 = _21 & _23;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  return _25;
-
-}
-
-
-xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  struct EventGroup_t * pxEventBits;
-  EventBits_t uxReturn;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 3> [local count: 1073741824]:
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_2
-  # DEBUG BEGIN_STMT
-  _4 = ~uxBitsToClear_3(D);
-  _5 = uxReturn_2 & _4;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  return uxReturn_2;
-
-}
-
-
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
-{
-  BaseType_t xWaitConditionMet;
-  long unsigned int _1;
-  long unsigned int _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 0
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_4(D) == 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_1 != 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 7>; [50.00%]
-
-  <bb 4> [local count: 268435456]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-  goto <bb 7>; [100.00%]
-
-  <bb 5> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_2 == uxBitsToWaitFor_6(D))
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 7>; [66.00%]
-
-  <bb 6> [local count: 182536110]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-
-  <bb 7> [local count: 1073741824]:
-  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
-  # DEBUG xWaitConditionMet => xWaitConditionMet_3
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return xWaitConditionMet_3;
-
-}
-
-
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-

+ 0 - 1641
Debug_FLASH/FreeRTOS/Source/event_groups.c.072i.cp

@@ -1,1641 +0,0 @@
-
-IPA constant propagation start:
-Determining dynamic type for call: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  Starting walk at: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  instance pointer: pvEventGroup_2(D)  Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference: 
-Determining dynamic type for call: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  Starting walk at: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  instance pointer: pvEventGroup_2(D)  Outer instance pointer: pvEventGroup_2(D) offset: 0 (bits) vtbl reference: 
-Determining dynamic type for call: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  Starting walk at: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  instance pointer: xEventGroup_3(D)  Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference: 
-Determining dynamic type for call: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  Starting walk at: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  instance pointer: xEventGroup_3(D)  Outer instance pointer: xEventGroup_3(D) offset: 0 (bits) vtbl reference: 
-Determining dynamic type for call: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  Starting walk at: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  instance pointer: xEventGroup_23(D)  Outer instance pointer: xEventGroup_23(D) offset: 0 (bits) vtbl reference: 
-  Function call may change dynamic type:vTaskSuspendAll ();
-  Function call may change dynamic type:_2 = xTaskGetSchedulerState ();
-
-IPA structures before propagation:
-
-Jump functions:
-  Jump functions of caller  xEventGroupSetBits.part.0/39:
-  Jump functions of caller  xEventGroupClearBits.part.0/36:
-  Jump functions of caller  vPortFree/29:
-  Jump functions of caller  vTaskRemoveFromUnorderedEventList/28:
-  Jump functions of caller  xTimerPendFunctionCallFromISR/27:
-  Jump functions of caller  vPortExitCritical/26:
-  Jump functions of caller  vPortEnterCritical/25:
-  Jump functions of caller  uxTaskResetEventItemValue/24:
-  Jump functions of caller  xTaskResumeAll/23:
-  Jump functions of caller  vTaskPlaceOnUnorderedEventList/22:
-  Jump functions of caller  vTaskSuspendAll/21:
-  Jump functions of caller  xTaskGetSchedulerState/20:
-  Jump functions of caller  vListInitialise/19:
-  Jump functions of caller  pvPortMalloc/18:
-  Jump functions of caller  vEventGroupSetNumber/17:
-  Jump functions of caller  uxEventGroupGetNumber/16:
-  Jump functions of caller  xEventGroupSetBitsFromISR/15:
-  Jump functions of caller  prvTestWaitCondition/14:
-  Jump functions of caller  vEventGroupClearBitsCallback/13:
-    callsite  vEventGroupClearBitsCallback/13 -> xEventGroupClearBits/7 : 
-       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-  Jump functions of caller  vEventGroupSetBitsCallback/12:
-    callsite  vEventGroupSetBitsCallback/12 -> xEventGroupSetBits/10 : 
-       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-  Jump functions of caller  vEventGroupDelete/11:
-  Jump functions of caller  xEventGroupSetBits/10:
-    callsite  xEventGroupSetBits/10 -> xEventGroupSetBits.part.0/39 : 
-       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-  Jump functions of caller  xEventGroupGetBitsFromISR/9:
-  Jump functions of caller  xEventGroupClearBitsFromISR/8:
-  Jump functions of caller  xEventGroupClearBits/7:
-    callsite  xEventGroupClearBits/7 -> xEventGroupClearBits.part.0/36 : 
-       param 0: PASS THROUGH: 0, op nop_expr, agg_preserved
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-  Jump functions of caller  xEventGroupWaitBits/6:
-    callsite  xEventGroupWaitBits/6 -> prvTestWaitCondition/14 : 
-       param 0: UNKNOWN
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 2: PASS THROUGH: 3, op nop_expr
-         value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-         Unknown VR
-    callsite  xEventGroupWaitBits/6 -> prvTestWaitCondition/14 : 
-       param 0: UNKNOWN
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 2: PASS THROUGH: 3, op nop_expr
-         value: 0x0, mask: 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-         Unknown VR
-  Jump functions of caller  xEventGroupSync/5:
-    callsite  xEventGroupSync/5 -> xEventGroupSetBits/10 : 
-       param 0: PASS THROUGH: 0, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-       param 1: PASS THROUGH: 1, op nop_expr
-         value: 0x0, mask: 0xffffffff
-         Unknown VR
-  Jump functions of caller  xEventGroupCreate/4:
-
- Propagating constants:
-
-Not considering vEventGroupSetNumber for cloning; -fipa-cp-clone disabled.
-Not considering uxEventGroupGetNumber for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupSetBitsFromISR for cloning; -fipa-cp-clone disabled.
-Not considering vEventGroupClearBitsCallback for cloning; -fipa-cp-clone disabled.
-Not considering vEventGroupSetBitsCallback for cloning; -fipa-cp-clone disabled.
-Not considering vEventGroupDelete for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupSetBits for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupGetBitsFromISR for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupClearBitsFromISR for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupClearBits for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupWaitBits for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupSync for cloning; -fipa-cp-clone disabled.
-Not considering xEventGroupCreate for cloning; -fipa-cp-clone disabled.
-
-overall_size: 359, max_new_size: 11001
-
-IPA lattices after all propagation:
-
-Lattices:
-  Node: xEventGroupSetBits.part.0/39:
-    param [0]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-    param [1]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-  Node: xEventGroupClearBits.part.0/36:
-    param [0]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-    param [1]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-  Node: vEventGroupSetNumber/17:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: uxEventGroupGetNumber/16:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupSetBitsFromISR/15:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [2]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: prvTestWaitCondition/14:
-    param [0]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-    param [1]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-    param [2]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS VARIABLE
-  Node: vEventGroupClearBitsCallback/13:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vEventGroupSetBitsCallback/12:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vEventGroupDelete/11:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupSetBits/10:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupGetBitsFromISR/9:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupClearBitsFromISR/8:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupClearBits/7:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupWaitBits/6:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [2]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [3]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [4]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupSync/5:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [2]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [3]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: xEventGroupCreate/4:
-
-IPA decision stage:
-
-
-IPA constant propagation end
-
-Reclaiming functions:
-Reclaiming variables:
-Clearing address taken flags:
-Symbol table:
-
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (118111600 (estimated locally),1.00 per call) vTaskRemoveFromUnorderedEventList/28 (401364694 (estimated locally),3.40 per call) xTaskResumeAll/23 (118111601 (estimated locally),1.00 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (1073741824 (estimated locally),1.00 per call) vPortExitCritical/26 (1073741824 (estimated locally),1.00 per call) 
-vPortFree/29 (vPortFree) @06c04b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
-  Calls: 
-vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06c049a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (401364694 (estimated locally),3.40 per call) 
-  Calls: 
-xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06c04460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vPortExitCritical/26 (vPortExitCritical) @06be2d20
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vPortEnterCritical/25 (vPortEnterCritical) @06be2c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (1073741824 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06be2b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
-  Calls: 
-xTaskResumeAll/23 (xTaskResumeAll) @06be2a80
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111601 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06be29a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06be28c0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (118111600 (estimated locally),1.00 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06be27e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
-  Calls: 
-vListInitialise/19 (vListInitialise) @06be2460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
-  Calls: 
-pvPortMalloc/18 (pvPortMalloc) @06be2380
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/14 (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-;; Function xEventGroupCreate (xEventGroupCreate, funcdef_no=4, decl_uid=6271, cgraph_uid=5, symbol_order=4)
-
-Modification phase of node xEventGroupCreate/4
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-
-
-;; Function xEventGroupWaitBits (xEventGroupWaitBits, funcdef_no=6, decl_uid=6277, cgraph_uid=7, symbol_order=6)
-
-Modification phase of node xEventGroupWaitBits/6
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-
-;; Function xEventGroupClearBits (xEventGroupClearBits, funcdef_no=7, decl_uid=6280, cgraph_uid=8, symbol_order=7)
-
-Modification phase of node xEventGroupClearBits/7
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-
-;; Function vEventGroupClearBitsCallback (vEventGroupClearBitsCallback, funcdef_no=13, decl_uid=6305, cgraph_uid=14, symbol_order=13)
-
-Modification phase of node vEventGroupClearBitsCallback/13
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-
-;; Function xEventGroupClearBitsFromISR (xEventGroupClearBitsFromISR, funcdef_no=8, decl_uid=6283, cgraph_uid=9, symbol_order=8)
-
-Modification phase of node xEventGroupClearBitsFromISR/8
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-
-;; Function xEventGroupGetBitsFromISR (xEventGroupGetBitsFromISR, funcdef_no=9, decl_uid=6297, cgraph_uid=10, symbol_order=9)
-
-Modification phase of node xEventGroupGetBitsFromISR/9
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-
-;; Function xEventGroupSetBits (xEventGroupSetBits, funcdef_no=10, decl_uid=6286, cgraph_uid=11, symbol_order=10)
-
-Modification phase of node xEventGroupSetBits/10
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-
-;; Function xEventGroupSync (xEventGroupSync, funcdef_no=5, decl_uid=6295, cgraph_uid=6, symbol_order=5)
-
-Modification phase of node xEventGroupSync/5
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-
-;; Function vEventGroupSetBitsCallback (vEventGroupSetBitsCallback, funcdef_no=12, decl_uid=6302, cgraph_uid=13, symbol_order=12)
-
-Modification phase of node vEventGroupSetBitsCallback/12
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-
-;; Function vEventGroupDelete (vEventGroupDelete, funcdef_no=11, decl_uid=6299, cgraph_uid=12, symbol_order=11)
-
-Modification phase of node vEventGroupDelete/11
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-
-;; Function xEventGroupSetBitsFromISR (xEventGroupSetBitsFromISR, funcdef_no=15, decl_uid=6290, cgraph_uid=16, symbol_order=15)
-
-Modification phase of node xEventGroupSetBitsFromISR/15
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-
-;; Function uxEventGroupGetNumber (uxEventGroupGetNumber, funcdef_no=16, decl_uid=6307, cgraph_uid=17, symbol_order=16)
-
-Modification phase of node uxEventGroupGetNumber/16
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-
-;; Function vEventGroupSetNumber (vEventGroupSetNumber, funcdef_no=17, decl_uid=6310, cgraph_uid=18, symbol_order=17)
-
-Modification phase of node vEventGroupSetNumber/17
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-

File diff suppressed because it is too large
+ 93 - 960
Debug_FLASH/FreeRTOS/Source/event_groups.c.075i.fnsummary


File diff suppressed because it is too large
+ 536 - 1175
Debug_FLASH/FreeRTOS/Source/event_groups.c.076i.inline


+ 0 - 2602
Debug_FLASH/FreeRTOS/Source/event_groups.c.077i.pure-const

@@ -1,2602 +0,0 @@
-
-
- local analysis of xEventGroupSetBits.part.0
-   scanning: pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  scanning: vTaskSuspendAll ();
-  scanning: pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-    Indirect ref read is not const
-  scanning: _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _6 = _4 | uxBitsToSet_5(D);
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-    Indirect ref write is not const/pure
-  scanning: pxNext_8 = pxListItem_7->pxNext;
-    Indirect ref read is not const
-  scanning: uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-    Indirect ref read is not const
-  scanning: uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  scanning: _11 = uxBitsWaitedFor_9 & 67108864;
-  scanning: if (_11 == 0)
-  scanning: _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _13 = uxBitsWaitedFor_10 & _12;
-  scanning: if (_13 != 0)
-  scanning: _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _15 = uxBitsWaitedFor_10 & _14;
-  scanning: if (uxBitsWaitedFor_10 == _15)
-  scanning: _16 = uxBitsWaitedFor_9 & 16777216;
-  scanning: if (_16 != 0)
-  scanning: uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  scanning: _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _20 = _19 | 33554432;
-  scanning: vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-  scanning: if (pxListEnd_2 != pxListItem_7)
-  scanning: _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _23 = ~uxBitsToClear_22;
-  scanning: _24 = _21 & _23;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-    Indirect ref write is not const/pure
-  scanning: xTaskResumeAll ();
-  scanning: _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: return _25;
-
-
- local analysis of xEventGroupClearBits.part.0
-   scanning: vPortEnterCritical ();
-  scanning: uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _4 = ~uxBitsToClear_3(D);
-  scanning: _5 = uxReturn_2 & _4;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-    Indirect ref write is not const/pure
-  scanning: vPortExitCritical ();
-  scanning: return uxReturn_2;
-
-
- local analysis of vEventGroupSetNumber
-   scanning: MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-    Indirect ref write is not const/pure
-  scanning: return;
-
-
- local analysis of uxEventGroupGetNumber
-   scanning: if (xEventGroup_2(D) == 0B)
-  scanning: xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-    Indirect ref read is not const
-  scanning: return xReturn_1;
-Function is locally pure.
-
-
- local analysis of xEventGroupSetBitsFromISR
-   scanning: xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  scanning: return xReturn_6;
-Function is locally const.
-
-
- local analysis of prvTestWaitCondition
-   scanning: if (xWaitForAllBits_4(D) == 0)
-  scanning: _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  scanning: if (_1 != 0)
-  scanning: _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  scanning: if (_2 == uxBitsToWaitFor_6(D))
-  scanning: return xWaitConditionMet_3;
-Function is locally const.
-
-
- local analysis of vEventGroupClearBitsCallback
-   scanning: xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  scanning: return;
-Function is locally const.
-
-
- local analysis of vEventGroupSetBitsCallback
-   scanning: xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  scanning: return;
-Function is locally const.
-
-
- local analysis of vEventGroupDelete
-   scanning: if (xEventGroup_5(D) == 0B)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: vTaskSuspendAll ();
-  scanning: _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-    Indirect ref read is not const
-  scanning: _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  scanning: if (_1 == _2)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: vTaskRemoveFromUnorderedEventList (_1, 33554432);
-  scanning: _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-    Volatile stmt is not const/pure
-    Indirect ref read is not const
-  scanning: if (_3 != 0)
-  scanning: vPortFree (xEventGroup_5(D));
-  scanning: xTaskResumeAll ();
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupSetBits
-   scanning: if (xEventGroup_3(D) == 0B)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _1 = uxBitsToSet_4(D) & 4278190080;
-  scanning: if (_1 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  scanning: return _6;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupGetBitsFromISR
-   scanning: __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return uxReturn_3;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupClearBitsFromISR
-   scanning: xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  scanning: return xReturn_5;
-Function is locally const.
-
-
- local analysis of xEventGroupClearBits
-   scanning: if (xEventGroup_3(D) == 0B)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _1 = uxBitsToClear_5(D) & 4278190080;
-  scanning: if (_1 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  scanning: return _2;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupWaitBits
-   scanning: if (xEventGroup_22(D) == 0B)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_45 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  scanning: if (_1 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: if (uxBitsToWaitFor_23(D) == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _2 = xTaskGetSchedulerState ();
-  scanning: if (_2 != 0)
-  scanning: if (xTicksToWait_26(D) == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_50 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: vTaskSuspendAll ();
-  scanning: uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  scanning: if (xWaitConditionMet_31 != 0)
-  scanning: if (xClearOnExit_32(D) != 0)
-  scanning: _3 = ~uxBitsToWaitFor_23(D);
-  scanning: _4 = _3 & uxCurrentEventBits_28;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-    Indirect ref write is not const/pure
-  scanning: if (xTicksToWait_26(D) == 0)
-  scanning: if (xClearOnExit_32(D) != 0)
-  scanning: if (xWaitForAllBits_29(D) != 0)
-  scanning: uxControlBits_33 = uxControlBits_15 | 67108864;
-  scanning: _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  scanning: _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  scanning: vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  scanning: xAlreadyYielded_37 = xTaskResumeAll ();
-  scanning: if (xTicksToWait_11 != 0)
-  scanning: if (xAlreadyYielded_37 == 0)
-  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: __asm__ __volatile__("isb");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: uxReturn_42 = uxTaskResetEventItemValue ();
-  scanning: _7 = uxReturn_42 & 33554432;
-  scanning: if (_7 == 0)
-  scanning: vPortEnterCritical ();
-  scanning: uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  scanning: if (_8 != 0)
-  scanning: if (xClearOnExit_32(D) != 0)
-  scanning: _9 = ~uxBitsToWaitFor_23(D);
-  scanning: _10 = _9 & uxReturn_44;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-    Indirect ref write is not const/pure
-  scanning: vPortExitCritical ();
-  scanning: uxReturn_48 = uxReturn_13 & 16777215;
-  scanning: return uxReturn_14;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupSync
-   scanning: _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  scanning: if (_1 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: if (uxBitsToWaitFor_24(D) == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _2 = xTaskGetSchedulerState ();
-  scanning: if (_2 != 0)
-  scanning: if (xTicksToWait_27(D) == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_49 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: vTaskSuspendAll ();
-  scanning: uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  scanning: _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  scanning: _4 = _3 & uxBitsToWaitFor_24(D);
-  scanning: if (_4 == uxBitsToWaitFor_24(D))
-  scanning: _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _6 = ~uxBitsToWaitFor_24(D);
-  scanning: _7 = _5 & _6;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-    Indirect ref write is not const/pure
-  scanning: if (xTicksToWait_27(D) != 0)
-  scanning: _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  scanning: _9 = uxBitsToWaitFor_24(D) | 83886080;
-  scanning: vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  scanning: uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: xAlreadyYielded_36 = xTaskResumeAll ();
-  scanning: if (xTicksToWait_14 != 0)
-  scanning: if (xAlreadyYielded_36 == 0)
-  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: __asm__ __volatile__("dsb" :  :  : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: __asm__ __volatile__("isb");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: uxReturn_41 = uxTaskResetEventItemValue ();
-  scanning: _10 = uxReturn_41 & 33554432;
-  scanning: if (_10 == 0)
-  scanning: vPortEnterCritical ();
-  scanning: uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-    Indirect ref read is not const
-  scanning: _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  scanning: if (_11 == uxBitsToWaitFor_24(D))
-  scanning: _12 = ~uxBitsToWaitFor_24(D);
-  scanning: _13 = _12 & uxReturn_43;
-  scanning: MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-    Indirect ref write is not const/pure
-  scanning: vPortExitCritical ();
-  scanning: uxReturn_46 = uxReturn_16 & 16777215;
-  scanning: return uxReturn_17;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xEventGroupCreate
-   scanning: pxEventBits_5 = pvPortMalloc (28);
-  scanning: if (pxEventBits_5 != 0B)
-  scanning: pxEventBits_5->uxEventBits = 0;
-    Indirect ref write is not const/pure
-  scanning: _1 = &pxEventBits_5->xTasksWaitingForBits;
-  scanning: vListInitialise (_1);
-  scanning: return pxEventBits_5;
-callgraph:
-
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  Aux: @067705f0
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770650
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770890
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-vPortFree/29 (vPortFree) @06c04b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
-  Calls: 
-vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06c049a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
-  Calls: 
-xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06c04460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vPortExitCritical/26 (vPortExitCritical) @06be2d20
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vPortEnterCritical/25 (vPortEnterCritical) @06be2c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06be2b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
-  Calls: 
-xTaskResumeAll/23 (xTaskResumeAll) @06be2a80
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06be29a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06be28c0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06be27e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
-  Calls: 
-vListInitialise/19 (vListInitialise) @06be2460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
-  Calls: 
-pvPortMalloc/18 (pvPortMalloc) @06be2380
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770690
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770730
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770750
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  Aux: @06770830
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770850
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @067708b0
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708f0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770550
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770910
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770570
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770cd0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770b90
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770970
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770bb0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-
- ordered call graph: reduced for nothrow
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  Aux: @067705f0
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770650
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770890
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770690
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770730
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770750
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  Aux: @06770830
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770850
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @067708b0
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708f0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770550
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770910
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770570
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770cd0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770b90
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770970
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770bb0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-
-
-MALLOC LATTICE Initial:
-prvTestWaitCondition: malloc_bottom
-xEventGroupSetBits.part.0: malloc_bottom
-xEventGroupClearBits.part.0: malloc_bottom
-vEventGroupSetNumber: malloc_bottom
-uxEventGroupGetNumber: malloc_bottom
-xEventGroupSetBitsFromISR: malloc_bottom
-prvTestWaitCondition: malloc_bottom
-vEventGroupClearBitsCallback: malloc_bottom
-vEventGroupSetBitsCallback: malloc_bottom
-vEventGroupDelete: malloc_bottom
-xEventGroupSetBits: malloc_bottom
-xEventGroupGetBitsFromISR: malloc_bottom
-xEventGroupClearBitsFromISR: malloc_bottom
-xEventGroupClearBits: malloc_bottom
-xEventGroupWaitBits: malloc_bottom
-xEventGroupSync: malloc_bottom
-xEventGroupCreate: malloc_bottom
-
-
-MALLOC LATTICE after propagation:
-prvTestWaitCondition: malloc_bottom
-xEventGroupSetBits.part.0: malloc_bottom
-xEventGroupClearBits.part.0: malloc_bottom
-vEventGroupSetNumber: malloc_bottom
-uxEventGroupGetNumber: malloc_bottom
-xEventGroupSetBitsFromISR: malloc_bottom
-prvTestWaitCondition: malloc_bottom
-vEventGroupClearBitsCallback: malloc_bottom
-vEventGroupSetBitsCallback: malloc_bottom
-vEventGroupDelete: malloc_bottom
-xEventGroupSetBits: malloc_bottom
-xEventGroupGetBitsFromISR: malloc_bottom
-xEventGroupClearBitsFromISR: malloc_bottom
-xEventGroupClearBits: malloc_bottom
-xEventGroupWaitBits: malloc_bottom
-xEventGroupSync: malloc_bottom
-xEventGroupCreate: malloc_bottom
-callgraph:
-
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  Aux: @06770cd0
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770b90
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770bb0
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-vPortFree/29 (vPortFree) @06c04b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
-  Calls: 
-vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06c049a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
-  Calls: 
-xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06c04460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vPortExitCritical/26 (vPortExitCritical) @06be2d20
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vPortEnterCritical/25 (vPortEnterCritical) @06be2c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06be2b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
-  Calls: 
-xTaskResumeAll/23 (xTaskResumeAll) @06be2a80
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06be29a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06be28c0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06be27e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
-  Calls: 
-vListInitialise/19 (vListInitialise) @06be2460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
-  Calls: 
-pvPortMalloc/18 (pvPortMalloc) @06be2380
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770970
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067709b0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770a30
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  Aux: @06770730
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770750
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770830
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770690
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770890
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770850
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770910
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708b0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708f0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770550
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770570
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-
- ordered call graph: reduced
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770970
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067709b0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770a30
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770750
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770830
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770690
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770850
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770910
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708b0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770bb0
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067708f0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  Aux: @06770cd0
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  Aux: @06770730
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770550
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770890
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770b90
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770570
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-Function found not to call free: prvTestWaitCondition
-Function found not to call free: prvTestWaitCondition
-Function found not to call free: uxEventGroupGetNumber
-Function found not to call free: vEventGroupSetNumber
-xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  struct ListItem_t * pxListItem;
-  struct ListItem_t * pxNext;
-  const struct ListItem_t * pxListEnd;
-  const struct List_t * pxList;
-  EventBits_t uxBitsToClear;
-  EventBits_t uxBitsWaitedFor;
-  EventBits_t uxControlBits;
-  struct EventGroup_t * pxEventBits;
-  BaseType_t xMatchFound;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _6;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-  long unsigned int _14;
-  long unsigned int _15;
-  long unsigned int _16;
-  long unsigned int _19;
-  long unsigned int _20;
-  long unsigned int _21;
-  long unsigned int _23;
-  long unsigned int _24;
-  long unsigned int _25;
-
-  <bb 12> [local count: 118111600]:
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
-  # DEBUG pxList => D#1
-  # DEBUG BEGIN_STMT
-  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  # DEBUG pxListEnd => pxListEnd_2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-  # DEBUG pxListItem => pxListItem_3
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _6 = _4 | uxBitsToSet_5(D);
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 3> [local count: 955630223]:
-  # DEBUG BEGIN_STMT
-  pxNext_8 = pxListItem_7->pxNext;
-  # DEBUG pxNext => pxNext_8
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsWaitedFor_9 & 67108864;
-  if (_11 == 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 4> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _13 = uxBitsWaitedFor_10 & _12;
-  if (_13 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 9>; [50.00%]
-
-  <bb 5> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _15 = uxBitsWaitedFor_10 & _14;
-  if (uxBitsWaitedFor_10 == _15)
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 9>; [66.00%]
-
-  <bb 6> [local count: 401364694]:
-  # DEBUG xMatchFound => NULL
-  # DEBUG BEGIN_STMT
-  _16 = uxBitsWaitedFor_9 & 16777216;
-  if (_16 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 200682347]:
-  # DEBUG BEGIN_STMT
-  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  # DEBUG uxBitsToClear => uxBitsToClear_18
-
-  <bb 8> [local count: 401364694]:
-  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
-  # DEBUG uxBitsToClear => uxBitsToClear_26
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _20 = _19 | 33554432;
-  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-
-  <bb 9> [local count: 955630225]:
-  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
-  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
-
-  <bb 10> [local count: 1073741824]:
-  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
-  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
-  # DEBUG xMatchFound => NULL
-  # DEBUG uxBitsToClear => uxBitsToClear_17
-  # DEBUG pxListItem => pxListItem_7
-  # DEBUG BEGIN_STMT
-  if (pxListEnd_2 != pxListItem_7)
-    goto <bb 3>; [89.00%]
-  else
-    goto <bb 11>; [11.00%]
-
-  <bb 11> [local count: 118111601]:
-  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
-  # DEBUG BEGIN_STMT
-  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _23 = ~uxBitsToClear_22;
-  _24 = _21 & _23;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  return _25;
-
-}
-
-
-xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  struct EventGroup_t * pxEventBits;
-  EventBits_t uxReturn;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 3> [local count: 1073741824]:
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_2
-  # DEBUG BEGIN_STMT
-  _4 = ~uxBitsToClear_3(D);
-  _5 = uxReturn_2 & _4;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  return uxReturn_2;
-
-}
-
-
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
-{
-  BaseType_t xWaitConditionMet;
-  long unsigned int _1;
-  long unsigned int _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 0
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_4(D) == 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_1 != 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 7>; [50.00%]
-
-  <bb 4> [local count: 268435456]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-  goto <bb 7>; [100.00%]
-
-  <bb 5> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_2 == uxBitsToWaitFor_6(D))
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 7>; [66.00%]
-
-  <bb 6> [local count: 182536110]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-
-  <bb 7> [local count: 1073741824]:
-  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
-  # DEBUG xWaitConditionMet => xWaitConditionMet_3
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return xWaitConditionMet_3;
-
-}
-
-
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-

File diff suppressed because it is too large
+ 506 - 697
Debug_FLASH/FreeRTOS/Source/event_groups.c.078i.free-fnsummary2


+ 0 - 1845
Debug_FLASH/FreeRTOS/Source/event_groups.c.079i.static-var

@@ -1,1845 +0,0 @@
-callgraph:
-
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-vPortFree/29 (vPortFree) @06c04b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) 
-  Calls: 
-vTaskRemoveFromUnorderedEventList/28 (vTaskRemoveFromUnorderedEventList) @06c049a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (1030048 (estimated locally),4.46 per call) xEventGroupSetBits.part.0/39 (179716 (estimated locally),0.78 per call) 
-  Calls: 
-xTimerPendFunctionCallFromISR/27 (xTimerPendFunctionCallFromISR) @06c04460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSetBitsFromISR/15 (1073741824 (estimated locally),1.00 per call) xEventGroupClearBitsFromISR/8 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vPortExitCritical/26 (vPortExitCritical) @06be2d20
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vPortEnterCritical/25 (vPortEnterCritical) @06be2c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (3888 (estimated locally),0.02 per call) xEventGroupClearBits.part.0/36 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (3888 (estimated locally),0.01 per call) 
-  Calls: 
-uxTaskResetEventItemValue/24 (uxTaskResetEventItemValue) @06be2b60
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (11782 (estimated locally),0.05 per call) xEventGroupWaitBits/6 (11782 (estimated locally),0.04 per call) 
-  Calls: 
-xTaskResumeAll/23 (xTaskResumeAll) @06be2a80
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (63439 (estimated locally),0.27 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-vTaskPlaceOnUnorderedEventList/22 (vTaskPlaceOnUnorderedEventList) @06be29a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (5132 (estimated locally),0.02 per call) xEventGroupWaitBits/6 (5891 (estimated locally),0.02 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06be28c0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vEventGroupDelete/11 (123389 (estimated locally),0.53 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) xEventGroupSetBits.part.0/39 (52886 (estimated locally),0.23 per call) xEventGroupWaitBits/6 (23563 (estimated locally),0.08 per call) 
-  Calls: 
-xTaskGetSchedulerState/20 (xTaskGetSchedulerState) @06be27e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupSync/5 (35433 (estimated locally),0.16 per call) xEventGroupWaitBits/6 (35433 (estimated locally),0.12 per call) 
-  Calls: 
-vListInitialise/19 (vListInitialise) @06be2460
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (574129754 (estimated locally),0.53 per call) 
-  Calls: 
-pvPortMalloc/18 (pvPortMalloc) @06be2380
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: xEventGroupCreate/4 (1073741824 (estimated locally),1.00 per call) 
-  Calls: 
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  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: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  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: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-Clearing variable flags:
-
-Function name:prvTestWaitCondition/44:
-  locals read: 
-  locals written: 
-Function name:xEventGroupSetBits.part.0/39:
-  locals read: 
-  locals written: 
-Function name:xEventGroupClearBits.part.0/36:
-  locals read: 
-  locals written: 
-Function name:vEventGroupSetNumber/17:
-  locals read: 
-  locals written: 
-Function name:uxEventGroupGetNumber/16:
-  locals read: 
-  locals written: 
-Function name:xEventGroupSetBitsFromISR/15:
-  locals read: 
-  locals written: 
-Function name:prvTestWaitCondition/14:
-  locals read: 
-  locals written: 
-Function name:vEventGroupClearBitsCallback/13:
-  locals read: 
-  locals written: 
-Function name:vEventGroupSetBitsCallback/12:
-  locals read: 
-  locals written: 
-Function name:vEventGroupDelete/11:
-  locals read: 
-  locals written: 
-Function name:xEventGroupSetBits/10:
-  locals read: 
-  locals written: 
-Function name:xEventGroupGetBitsFromISR/9:
-  locals read: 
-  locals written: 
-Function name:xEventGroupClearBitsFromISR/8:
-  locals read: 
-  locals written: 
-Function name:xEventGroupClearBits/7:
-  locals read: 
-  locals written: 
-Function name:xEventGroupWaitBits/6:
-  locals read: 
-  locals written: 
-Function name:xEventGroupSync/5:
-  locals read: 
-  locals written: 
-Function name:xEventGroupCreate/4:
-  locals read: 
-  locals written: 
-
- ordered call graph: reduced
-vEventGroupSetNumber/17 (vEventGroupSetNumber) @06bd6e00
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770970
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-uxEventGroupGetNumber/16 (uxEventGroupGetNumber) @06bd68c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770a30
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-xEventGroupSetBitsFromISR/15 (xEventGroupSetBitsFromISR) @06bd62a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770bf0
-  References: vEventGroupSetBitsCallback/12 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupClearBitsCallback/13 (vEventGroupClearBitsCallback) @06bd6a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @067709b0
-  References: 
-  Referring: xEventGroupClearBitsFromISR/8 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupClearBits/7 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupSetBitsCallback/12 (vEventGroupSetBitsCallback) @06bd67e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Address is taken.
-  Aux: @06770a10
-  References: 
-  Referring: xEventGroupSetBitsFromISR/15 (addr)
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xEventGroupSetBits/10 (1073741824 (estimated locally),1.00 per call) 
-vEventGroupDelete/11 (vEventGroupDelete) @06bd6540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770990
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:230763 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/23 (63439 (estimated locally),0.27 per call) vPortFree/29 (63439 (estimated locally),0.27 per call) vTaskRemoveFromUnorderedEventList/28 (1030048 (estimated locally),4.46 per call) vTaskSuspendAll/21 (123389 (estimated locally),0.53 per call) 
-xEventGroupGetBitsFromISR/9 (xEventGroupGetBitsFromISR) @06b92a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770bd0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xEventGroupClearBitsFromISR/8 (xEventGroupClearBitsFromISR) @06b920e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770a90
-  References: vEventGroupClearBitsCallback/13 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTimerPendFunctionCallFromISR/27 (1073741824 (estimated locally),1.00 per call) 
-xEventGroupClearBits/7 (xEventGroupClearBits) @06b92d20
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770b50
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupClearBitsCallback/13 (1073741824 (estimated locally),1.00 per call) 
-  Calls: xEventGroupClearBits.part.0/36 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupClearBits.part.0/36 (xEventGroupClearBits.part.0) @06b17a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @067709f0
-  References: 
-  Referring: 
-  Function xEventGroupClearBits.part.0/36 is inline copy in xEventGroupClearBits/7
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupClearBits/7 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vPortEnterCritical/25 (52886 (estimated locally),0.23 per call) vPortExitCritical/26 (52886 (estimated locally),0.23 per call) 
-xEventGroupWaitBits/6 (xEventGroupWaitBits) @06b929a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770c30
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.01 per call) prvTestWaitCondition/14 (inlined) (3888 (estimated locally),0.01 per call) vPortEnterCritical/25 (3888 (estimated locally),0.01 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.04 per call) xTaskResumeAll/23 (23563 (estimated locally),0.08 per call) vTaskPlaceOnUnorderedEventList/22 (5891 (estimated locally),0.02 per call) prvTestWaitCondition/44 (inlined) (23563 (estimated locally),0.08 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.08 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.12 per call) 
-prvTestWaitCondition/44 (prvTestWaitCondition) @06b1d380
-  Type: function definition analyzed
-  Visibility:
-  next sharing asm name: 14
-  Aux: @067709d0
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/44 is inline copy in xEventGroupWaitBits/6
-  Clone of prvTestWaitCondition/14
-  Availability: local
-  Function flags: count:23563 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (23563 (estimated locally),0.08 per call) 
-  Calls: 
-prvTestWaitCondition/14 (prvTestWaitCondition) @06bd6d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  previous sharing asm name: 44
-  Aux: @06770a70
-  References: 
-  Referring: 
-  Function prvTestWaitCondition/14 is inline copy in xEventGroupWaitBits/6
-  Availability: local
-  Function flags: count:3888 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: xEventGroupWaitBits/6 (inlined) (3888 (estimated locally),0.01 per call) 
-  Calls: 
-xEventGroupSync/5 (xEventGroupSync) @06b92460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770ab0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:214748 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/26 (3888 (estimated locally),0.02 per call) vPortEnterCritical/25 (3888 (estimated locally),0.02 per call) uxTaskResetEventItemValue/24 (11782 (estimated locally),0.05 per call) xTaskResumeAll/23 (23563 (estimated locally),0.11 per call) vTaskPlaceOnUnorderedEventList/22 (5132 (estimated locally),0.02 per call) xEventGroupSetBits/10 (23563 (estimated locally),0.11 per call) vTaskSuspendAll/21 (23563 (estimated locally),0.11 per call) xTaskGetSchedulerState/20 (35433 (estimated locally),0.16 per call) 
-xEventGroupSetBits/10 (xEventGroupSetBits) @06bd61c0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770b30
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:228942 (estimated locally) body optimize_size
-  Called by: vEventGroupSetBitsCallback/12 (1073741824 (estimated locally),1.00 per call) xEventGroupSync/5 (23563 (estimated locally),0.11 per call) 
-  Calls: xEventGroupSetBits.part.0/39 (inlined) (52886 (estimated locally),0.23 per call) 
-xEventGroupSetBits.part.0/39 (xEventGroupSetBits.part.0) @06b1d0e0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06770c50
-  References: 
-  Referring: 
-  Function xEventGroupSetBits.part.0/39 is inline copy in xEventGroupSetBits/10
-  Availability: local
-  Function flags: count:52886 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: xEventGroupSetBits/10 (inlined) (52886 (estimated locally),0.23 per call) 
-  Calls: vTaskSuspendAll/21 (52886 (estimated locally),0.23 per call) vTaskRemoveFromUnorderedEventList/28 (179716 (estimated locally),0.78 per call) xTaskResumeAll/23 (52886 (estimated locally),0.23 per call) 
-xEventGroupCreate/4 (xEventGroupCreate) @06b92000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06770c90
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vListInitialise/19 (574129754 (estimated locally),0.53 per call) pvPortMalloc/18 (1073741824 (estimated locally),1.00 per call) 
-
-
-Function name:xEventGroupCreate/4:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupSetBits.part.0/39:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupSetBits/10:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupSync/5:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:prvTestWaitCondition/14:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:prvTestWaitCondition/44:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:xEventGroupWaitBits/6:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupClearBits.part.0/36:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupClearBits/7:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupClearBitsFromISR/8:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupGetBitsFromISR/9:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vEventGroupDelete/11:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:vEventGroupSetBitsCallback/12:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:vEventGroupClearBitsCallback/13:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xEventGroupSetBitsFromISR/15:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:uxEventGroupGetNumber/16:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vEventGroupSetNumber/17:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-xEventGroupSetBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  struct ListItem_t * pxListItem;
-  struct ListItem_t * pxNext;
-  const struct ListItem_t * pxListEnd;
-  const struct List_t * pxList;
-  EventBits_t uxBitsToClear;
-  EventBits_t uxBitsWaitedFor;
-  EventBits_t uxControlBits;
-  struct EventGroup_t * pxEventBits;
-  BaseType_t xMatchFound;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _6;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-  long unsigned int _14;
-  long unsigned int _15;
-  long unsigned int _16;
-  long unsigned int _19;
-  long unsigned int _20;
-  long unsigned int _21;
-  long unsigned int _23;
-  long unsigned int _24;
-  long unsigned int _25;
-
-  <bb 12> [local count: 118111600]:
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG D#1 => &MEM[(struct EventGroup_t *)xEventGroup_1(D)].xTasksWaitingForBits
-  # DEBUG pxList => D#1
-  # DEBUG BEGIN_STMT
-  pxListEnd_2 = &MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd;
-  # DEBUG pxListEnd => pxListEnd_2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxListItem_3 = MEM[(const struct List_t *)xEventGroup_1(D) + 4B].xListEnd.pxNext;
-  # DEBUG pxListItem => pxListItem_3
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _6 = _4 | uxBitsToSet_5(D);
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _6;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 3> [local count: 955630223]:
-  # DEBUG BEGIN_STMT
-  pxNext_8 = pxListItem_7->pxNext;
-  # DEBUG pxNext => pxNext_8
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_9 = pxListItem_7->xItemValue;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_9
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => uxBitsWaitedFor_9 & 4278190080
-  # DEBUG BEGIN_STMT
-  uxBitsWaitedFor_10 = uxBitsWaitedFor_9 & 16777215;
-  # DEBUG uxBitsWaitedFor => uxBitsWaitedFor_10
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsWaitedFor_9 & 67108864;
-  if (_11 == 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 4> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _12 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _13 = uxBitsWaitedFor_10 & _12;
-  if (_13 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 9>; [50.00%]
-
-  <bb 5> [local count: 477815111]:
-  # DEBUG BEGIN_STMT
-  _14 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _15 = uxBitsWaitedFor_10 & _14;
-  if (uxBitsWaitedFor_10 == _15)
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 9>; [66.00%]
-
-  <bb 6> [local count: 401364694]:
-  # DEBUG xMatchFound => NULL
-  # DEBUG BEGIN_STMT
-  _16 = uxBitsWaitedFor_9 & 16777216;
-  if (_16 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 200682347]:
-  # DEBUG BEGIN_STMT
-  uxBitsToClear_18 = uxBitsWaitedFor_10 | uxBitsToClear_17;
-  # DEBUG uxBitsToClear => uxBitsToClear_18
-
-  <bb 8> [local count: 401364694]:
-  # uxBitsToClear_26 = PHI <uxBitsToClear_17(6), uxBitsToClear_18(7)>
-  # DEBUG uxBitsToClear => uxBitsToClear_26
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _19 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _20 = _19 | 33554432;
-  vTaskRemoveFromUnorderedEventList (pxListItem_7, _20);
-
-  <bb 9> [local count: 955630225]:
-  # pxListItem_27 = PHI <pxNext_8(4), pxNext_8(5), pxNext_8(8)>
-  # uxBitsToClear_28 = PHI <uxBitsToClear_17(4), uxBitsToClear_17(5), uxBitsToClear_26(8)>
-
-  <bb 10> [local count: 1073741824]:
-  # pxListItem_7 = PHI <pxListItem_3(2), pxListItem_27(9)>
-  # uxBitsToClear_17 = PHI <0(2), uxBitsToClear_28(9)>
-  # DEBUG xMatchFound => NULL
-  # DEBUG uxBitsToClear => uxBitsToClear_17
-  # DEBUG pxListItem => pxListItem_7
-  # DEBUG BEGIN_STMT
-  if (pxListEnd_2 != pxListItem_7)
-    goto <bb 3>; [89.00%]
-  else
-    goto <bb 11>; [11.00%]
-
-  <bb 11> [local count: 118111601]:
-  # uxBitsToClear_22 = PHI <uxBitsToClear_17(10)>
-  # DEBUG BEGIN_STMT
-  _21 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  _23 = ~uxBitsToClear_22;
-  _24 = _21 & _23;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _24;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  _25 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  return _25;
-
-}
-
-
-xEventGroupClearBits.part.0 (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  struct EventGroup_t * pxEventBits;
-  EventBits_t uxReturn;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 3> [local count: 1073741824]:
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_2 = MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_2
-  # DEBUG BEGIN_STMT
-  _4 = ~uxBitsToClear_3(D);
-  _5 = uxReturn_2 & _4;
-  MEM[(struct EventGroup_t *)xEventGroup_1(D)].uxEventBits = _5;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  return uxReturn_2;
-
-}
-
-
-vEventGroupSetNumber (void * xEventGroup, UBaseType_t uxEventGroupNumber)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  MEM[(struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber = uxEventGroupNumber_3(D);
-  return;
-
-}
-
-
-uxEventGroupGetNumber (void * xEventGroup)
-{
-  UBaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_2(D)
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_2(D) == 0B)
-    goto <bb 4>; [30.00%]
-  else
-    goto <bb 3>; [70.00%]
-
-  <bb 3> [local count: 751619278]:
-  # DEBUG BEGIN_STMT
-  xReturn_4 = MEM[(const struct EventGroup_t *)xEventGroup_2(D)].uxEventGroupNumber;
-  # DEBUG xReturn => xReturn_4
-
-  <bb 4> [local count: 1073741824]:
-  # xReturn_1 = PHI <0(2), xReturn_4(3)>
-  # DEBUG xReturn => xReturn_1
-  # DEBUG BEGIN_STMT
-  return xReturn_1;
-
-}
-
-
-xEventGroupSetBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, BaseType_t * pxHigherPriorityTaskWoken)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_6 = xTimerPendFunctionCallFromISR (vEventGroupSetBitsCallback, xEventGroup_2(D), uxBitsToSet_3(D), pxHigherPriorityTaskWoken_4(D));
-  # DEBUG xReturn => xReturn_6
-  # DEBUG BEGIN_STMT
-  return xReturn_6;
-
-}
-
-
-prvTestWaitCondition (const EventBits_t uxCurrentEventBits, const EventBits_t uxBitsToWaitFor, const BaseType_t xWaitForAllBits)
-{
-  BaseType_t xWaitConditionMet;
-  long unsigned int _1;
-  long unsigned int _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 0
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_4(D) == 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 5>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _1 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_1 != 0)
-    goto <bb 4>; [50.00%]
-  else
-    goto <bb 7>; [50.00%]
-
-  <bb 4> [local count: 268435456]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-  goto <bb 7>; [100.00%]
-
-  <bb 5> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  _2 = uxCurrentEventBits_5(D) & uxBitsToWaitFor_6(D);
-  if (_2 == uxBitsToWaitFor_6(D))
-    goto <bb 6>; [34.00%]
-  else
-    goto <bb 7>; [66.00%]
-
-  <bb 6> [local count: 182536110]:
-  # DEBUG BEGIN_STMT
-  # DEBUG xWaitConditionMet => 1
-
-  <bb 7> [local count: 1073741824]:
-  # xWaitConditionMet_3 = PHI <1(4), 0(5), 1(6), 0(3)>
-  # DEBUG xWaitConditionMet => xWaitConditionMet_3
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return xWaitConditionMet_3;
-
-}
-
-
-vEventGroupClearBitsCallback (void * pvEventGroup, const uint32_t ulBitsToClear)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupClearBits (pvEventGroup_2(D), ulBitsToClear_3(D));
-  return;
-
-}
-
-
-vEventGroupSetBitsCallback (void * pvEventGroup, const uint32_t ulBitsToSet)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (pvEventGroup_2(D), ulBitsToSet_3(D));
-  return;
-
-}
-
-
-vEventGroupDelete (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  struct xLIST_ITEM * _1;
-  const struct MiniListItem_t * _2;
-  long unsigned int _3;
-
-  <bb 2> [local count: 230763]:
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_5(D) == 0B)
-    goto <bb 3>; [46.53%]
-  else
-    goto <bb 5>; [53.47%]
-
-  <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_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 123389]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_5(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG D#2 => &MEM[(struct EventGroup_t *)xEventGroup_5(D)].xTasksWaitingForBits
-  # DEBUG pxTasksWaitingForBits => D#2
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [100.00%]
-
-  <bb 6> [local count: 1089998]:
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd.pxNext;
-  _2 = &MEM[(const struct List_t *)xEventGroup_5(D) + 4B].xListEnd;
-  if (_1 == _2)
-    goto <bb 7>; [5.50%]
-  else
-    goto <bb 9>; [94.50%]
-
-  <bb 7> [local count: 59950]:
-  # 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_12 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
-
-  <bb 8> [local count: 599500022]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 13> [local count: 599500022]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 1030048]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskRemoveFromUnorderedEventList (_1, 33554432);
-
-  <bb 10> [local count: 1153437]:
-  # DEBUG BEGIN_STMT
-  _3 ={v} MEM[(const struct List_t *)xEventGroup_5(D) + 4B].uxNumberOfItems;
-  if (_3 != 0)
-    goto <bb 6>; [94.50%]
-  else
-    goto <bb 11>; [5.50%]
-
-  <bb 11> [local count: 63439]:
-  # DEBUG BEGIN_STMT
-  vPortFree (xEventGroup_5(D));
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  return;
-
-}
-
-
-xEventGroupSetBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet)
-{
-  EventBits_t D.6634;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG uxBitsToClear => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG xMatchFound => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToSet_4(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _6 = xEventGroupSetBits.part.0 (xEventGroup_3(D), uxBitsToSet_4(D));
-  return _6;
-
-}
-
-
-xEventGroupGetBitsFromISR (struct EventGroupDef_t * xEventGroup)
-{
-  uint32_t ulOriginalBASEPRI;
-  uint32_t ulNewBASEPRI;
-  EventBits_t uxReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_1(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	mrs %0, basepri											
-	mov %1, %2												
-	msr basepri, %1											
-	isb														
-	dsb														
-" : "=r" ulOriginalBASEPRI_4, "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
-  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG ulOriginalBASEPRI => NULL
-  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_4
-  # DEBUG BEGIN_STMT
-  uxReturn_3 = MEM[(const struct EventGroup_t *)xEventGroup_1(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_3
-  # DEBUG BEGIN_STMT
-  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_4
-  # DEBUG INLINE_ENTRY vPortSetBASEPRI
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_4 : "memory");
-  # DEBUG ulNewMaskValue => NULL
-  # DEBUG BEGIN_STMT
-  return uxReturn_3;
-
-}
-
-
-xEventGroupClearBitsFromISR (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  BaseType_t xReturn;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xReturn_5 = xTimerPendFunctionCallFromISR (vEventGroupClearBitsCallback, xEventGroup_2(D), uxBitsToClear_3(D), 0B);
-  # DEBUG xReturn => xReturn_5
-  # DEBUG BEGIN_STMT
-  return xReturn_5;
-
-}
-
-
-xEventGroupClearBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToClear)
-{
-  EventBits_t D.6607;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  long unsigned int _1;
-
-  <bb 2> [local count: 228942]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_3(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_3(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 68683]:
-  # 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 => ulNewBASEPRI_7
-
-  <bb 4> [local count: 686828460]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 9> [local count: 686828460]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 160260]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToClear_5(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [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 7> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 10> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 52886]:
-  _2 = xEventGroupClearBits.part.0 (xEventGroup_3(D), uxBitsToClear_5(D));
-  return _2;
-
-}
-
-
-xEventGroupWaitBits (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  const EventBits_t uxCurrentEventBits;
-  BaseType_t xAlreadyYielded;
-  BaseType_t xWaitConditionMet;
-  EventBits_t uxControlBits;
-  EventBits_t uxReturn;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  struct List_t * _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  long int _8;
-  long unsigned int _9;
-  long unsigned int _10;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_22(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 0
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  if (xEventGroup_22(D) == 0B)
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 5>; [70.00%]
-
-  <bb 3> [local count: 92035]:
-  # 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_45 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_45
-
-  <bb 4> [local count: 920350133]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 34> [local count: 920350133]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_23(D) & 4278190080;
-  if (_1 != 0)
-    goto <bb 6>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 6> [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_30 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
-
-  <bb 7> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 35> [local count: 1073741824]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_23(D) == 0)
-    goto <bb 9>; [67.00%]
-  else
-    goto <bb 11>; [33.00%]
-
-  <bb 9> [local count: 71941]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 10> [local count: 719407021]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 36> [local count: 719407021]:
-  goto <bb 10>; [100.00%]
-
-  <bb 11> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 12>; [67.00%]
-
-  <bb 12> [local count: 23740]:
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 13>; [50.00%]
-
-  <bb 13> [local count: 11870]:
-  # 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_50 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_50
-
-  <bb 14> [local count: 118702158]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 37> [local count: 118702158]:
-  goto <bb 14>; [100.00%]
-
-  <bb 15> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxCurrentEventBits_28 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxCurrentEventBits => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  xWaitConditionMet_31 = prvTestWaitCondition (uxCurrentEventBits_28, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  # DEBUG xWaitConditionMet => xWaitConditionMet_31
-  # DEBUG BEGIN_STMT
-  if (xWaitConditionMet_31 != 0)
-    goto <bb 16>; [50.00%]
-  else
-    goto <bb 18>; [50.00%]
-
-  <bb 16> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => uxCurrentEventBits_28
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 17>; [50.00%]
-  else
-    goto <bb 24>; [50.00%]
-
-  <bb 17> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  _3 = ~uxBitsToWaitFor_23(D);
-  _4 = _3 & uxCurrentEventBits_28;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _4;
-  goto <bb 24>; [100.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_26(D) == 0)
-    goto <bb 24>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxControlBits => 16777216
-
-  <bb 21> [local count: 5891]:
-  # uxControlBits_15 = PHI <0(19), 16777216(20)>
-  # DEBUG uxControlBits => uxControlBits_15
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xWaitForAllBits_29(D) != 0)
-    goto <bb 22>; [50.00%]
-  else
-    goto <bb 23>; [50.00%]
-
-  <bb 22> [local count: 2945]:
-  # DEBUG BEGIN_STMT
-  uxControlBits_33 = uxControlBits_15 | 67108864;
-  # DEBUG uxControlBits => uxControlBits_33
-
-  <bb 23> [local count: 5891]:
-  # uxControlBits_16 = PHI <uxControlBits_15(21), uxControlBits_33(22)>
-  # DEBUG uxControlBits => uxControlBits_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = &MEM[(struct EventGroup_t *)xEventGroup_22(D)].xTasksWaitingForBits;
-  _6 = uxControlBits_16 | uxBitsToWaitFor_23(D);
-  vTaskPlaceOnUnorderedEventList (_5, _6, xTicksToWait_26(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-
-  <bb 24> [local count: 23563]:
-  # xTicksToWait_11 = PHI <0(17), xTicksToWait_26(D)(18), xTicksToWait_26(D)(23), 0(16)>
-  # uxReturn_12 = PHI <uxCurrentEventBits_28(17), uxCurrentEventBits_28(18), 0(23), uxCurrentEventBits_28(16)>
-  # DEBUG xTimeoutOccurred => NULL
-  # DEBUG uxReturn => uxReturn_12
-  # DEBUG xTicksToWait => xTicksToWait_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_37 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_37
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_11 != 0)
-    goto <bb 25>; [50.00%]
-  else
-    goto <bb 33>; [50.00%]
-
-  <bb 25> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_37 == 0)
-    goto <bb 26>; [50.00%]
-  else
-    goto <bb 27>; [50.00%]
-
-  <bb 26> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_42 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_42
-  # DEBUG BEGIN_STMT
-  _7 = uxReturn_42 & 33554432;
-  if (_7 == 0)
-    goto <bb 28>; [33.00%]
-  else
-    goto <bb 32>; [67.00%]
-
-  <bb 28> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_44 = MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_44
-  # DEBUG BEGIN_STMT
-  _8 = prvTestWaitCondition (uxReturn_44, uxBitsToWaitFor_23(D), xWaitForAllBits_29(D));
-  if (_8 != 0)
-    goto <bb 29>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 29> [local count: 1944]:
-  # DEBUG BEGIN_STMT
-  if (xClearOnExit_32(D) != 0)
-    goto <bb 30>; [50.00%]
-  else
-    goto <bb 31>; [50.00%]
-
-  <bb 30> [local count: 972]:
-  # DEBUG BEGIN_STMT
-  _9 = ~uxBitsToWaitFor_23(D);
-  _10 = _9 & uxReturn_44;
-  MEM[(struct EventGroup_t *)xEventGroup_22(D)].uxEventBits = _10;
-
-  <bb 31> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-
-  <bb 32> [local count: 11782]:
-  # uxReturn_13 = PHI <uxReturn_42(27), uxReturn_44(31)>
-  # DEBUG uxReturn => uxReturn_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_48 = uxReturn_13 & 16777215;
-  # DEBUG uxReturn => uxReturn_48
-
-  <bb 33> [local count: 23563]:
-  # uxReturn_14 = PHI <uxReturn_12(24), uxReturn_48(32)>
-  # DEBUG uxReturn => uxReturn_14
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_14;
-
-}
-
-
-xEventGroupSync (struct EventGroupDef_t * xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  BaseType_t xAlreadyYielded;
-  EventBits_t uxReturn;
-  EventBits_t uxOriginalBitValue;
-  long unsigned int _1;
-  long int _2;
-  long unsigned int _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  long unsigned int _6;
-  long unsigned int _7;
-  struct List_t * _8;
-  long unsigned int _9;
-  long unsigned int _10;
-  long unsigned int _11;
-  long unsigned int _12;
-  long unsigned int _13;
-
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxEventBits => xEventGroup_23(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 0
-  # DEBUG BEGIN_STMT
-  _1 = uxBitsToWaitFor_24(D) & 4278190080;
-  if (_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_47 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_47
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
-
-  <bb 5> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (uxBitsToWaitFor_24(D) == 0)
-    goto <bb 6>; [67.00%]
-  else
-    goto <bb 8>; [33.00%]
-
-  <bb 6> [local count: 71941]:
-  # 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 7> [local count: 719407023]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 719407023]:
-  goto <bb 7>; [100.00%]
-
-  <bb 8> [local count: 35433]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = xTaskGetSchedulerState ();
-  if (_2 != 0)
-    goto <bb 12>; [33.00%]
-  else
-    goto <bb 9>; [67.00%]
-
-  <bb 9> [local count: 23740]:
-  if (xTicksToWait_27(D) == 0)
-    goto <bb 12>; [50.00%]
-  else
-    goto <bb 10>; [50.00%]
-
-  <bb 10> [local count: 11870]:
-  # 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_49 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_49
-
-  <bb 11> [local count: 118702159]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 28> [local count: 118702159]:
-  goto <bb 11>; [100.00%]
-
-  <bb 12> [local count: 23563]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  uxOriginalBitValue_29 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxOriginalBitValue => uxOriginalBitValue_29
-  # DEBUG BEGIN_STMT
-  xEventGroupSetBits (xEventGroup_23(D), uxBitsToSet_30(D));
-  # DEBUG BEGIN_STMT
-  _3 = uxOriginalBitValue_29 | uxBitsToSet_30(D);
-  _4 = _3 & uxBitsToWaitFor_24(D);
-  if (_4 == uxBitsToWaitFor_24(D))
-    goto <bb 13>; [34.00%]
-  else
-    goto <bb 14>; [66.00%]
-
-  <bb 13> [local count: 8011]:
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => _3
-  # DEBUG BEGIN_STMT
-  _5 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  _6 = ~uxBitsToWaitFor_24(D);
-  _7 = _5 & _6;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _7;
-  # DEBUG BEGIN_STMT
-  # DEBUG xTicksToWait => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 14> [local count: 15552]:
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_27(D) != 0)
-    goto <bb 15>; [33.00%]
-  else
-    goto <bb 16>; [67.00%]
-
-  <bb 15> [local count: 5132]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _8 = &MEM[(struct EventGroup_t *)xEventGroup_23(D)].xTasksWaitingForBits;
-  _9 = uxBitsToWaitFor_24(D) | 83886080;
-  vTaskPlaceOnUnorderedEventList (_8, _9, xTicksToWait_27(D));
-  # DEBUG BEGIN_STMT
-  # DEBUG uxReturn => 0
-  goto <bb 17>; [100.00%]
-
-  <bb 16> [local count: 10420]:
-  # DEBUG BEGIN_STMT
-  uxReturn_32 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_32
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 17> [local count: 23563]:
-  # xTicksToWait_14 = PHI <0(13), xTicksToWait_27(D)(15), 0(16)>
-  # uxReturn_15 = PHI <_3(13), 0(15), uxReturn_32(16)>
-  # DEBUG uxReturn => uxReturn_15
-  # DEBUG xTicksToWait => xTicksToWait_14
-  # DEBUG BEGIN_STMT
-  xAlreadyYielded_36 = xTaskResumeAll ();
-  # DEBUG xAlreadyYielded => xAlreadyYielded_36
-  # DEBUG BEGIN_STMT
-  if (xTicksToWait_14 != 0)
-    goto <bb 18>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 18> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  if (xAlreadyYielded_36 == 0)
-    goto <bb 19>; [50.00%]
-  else
-    goto <bb 20>; [50.00%]
-
-  <bb 19> [local count: 5891]:
-  # DEBUG BEGIN_STMT
-  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("dsb" :  :  : "memory");
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("isb");
-  # DEBUG BEGIN_STMT
-
-  <bb 20> [local count: 11782]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_41 = uxTaskResetEventItemValue ();
-  # DEBUG uxReturn => uxReturn_41
-  # DEBUG BEGIN_STMT
-  _10 = uxReturn_41 & 33554432;
-  if (_10 == 0)
-    goto <bb 21>; [33.00%]
-  else
-    goto <bb 24>; [67.00%]
-
-  <bb 21> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  uxReturn_43 = MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits;
-  # DEBUG uxReturn => uxReturn_43
-  # DEBUG BEGIN_STMT
-  _11 = uxBitsToWaitFor_24(D) & uxReturn_43;
-  if (_11 == uxBitsToWaitFor_24(D))
-    goto <bb 22>; [34.00%]
-  else
-    goto <bb 23>; [66.00%]
-
-  <bb 22> [local count: 1322]:
-  # DEBUG BEGIN_STMT
-  _12 = ~uxBitsToWaitFor_24(D);
-  _13 = _12 & uxReturn_43;
-  MEM[(struct EventGroup_t *)xEventGroup_23(D)].uxEventBits = _13;
-
-  <bb 23> [local count: 3888]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  # DEBUG BEGIN_STMT
-  # DEBUG xTimeoutOccurred => 1
-
-  <bb 24> [local count: 11782]:
-  # uxReturn_16 = PHI <uxReturn_41(20), uxReturn_43(23)>
-  # DEBUG uxReturn => uxReturn_16
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  uxReturn_46 = uxReturn_16 & 16777215;
-  # DEBUG uxReturn => uxReturn_46
-
-  <bb 25> [local count: 23563]:
-  # uxReturn_17 = PHI <uxReturn_15(17), uxReturn_46(24)>
-  # DEBUG uxReturn => uxReturn_17
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return uxReturn_17;
-
-}
-
-
-xEventGroupCreate ()
-{
-  struct EventGroup_t * pxEventBits;
-  struct List_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxEventBits_5 = pvPortMalloc (28);
-  # DEBUG pxEventBits => pxEventBits_5
-  # DEBUG BEGIN_STMT
-  if (pxEventBits_5 != 0B)
-    goto <bb 3>; [53.47%]
-  else
-    goto <bb 4>; [46.53%]
-
-  <bb 3> [local count: 574129754]:
-  # DEBUG BEGIN_STMT
-  pxEventBits_5->uxEventBits = 0;
-  # DEBUG BEGIN_STMT
-  _1 = &pxEventBits_5->xTasksWaitingForBits;
-  vListInitialise (_1);
-  # DEBUG BEGIN_STMT
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pxEventBits_5;
-
-}
-
-

File diff suppressed because it is too large
+ 506 - 697
Debug_FLASH/FreeRTOS/Source/event_groups.c.080i.single-use


File diff suppressed because it is too large
+ 506 - 697
Debug_FLASH/FreeRTOS/Source/event_groups.c.081i.comdats


File diff suppressed because it is too large
+ 506 - 697
Debug_FLASH/FreeRTOS/Source/event_groups.c.082i.materialize-all-clones


BIN
Debug_FLASH/FreeRTOS/Source/event_groups.o


+ 14 - 13
Debug_FLASH/FreeRTOS/Source/event_groups.su

@@ -1,13 +1,14 @@
-event_groups.c:148:24:xEventGroupCreate	8	static
-event_groups.c:317:13:xEventGroupWaitBits	32	static
-event_groups.c:473:13:xEventGroupClearBits	16	static
-event_groups.c:683:6:vEventGroupClearBitsCallback	0	static
-event_groups.c:503:16:xEventGroupClearBitsFromISR	0	static
-event_groups.c:517:13:xEventGroupGetBitsFromISR	0	static
-event_groups.c:533:13:xEventGroupSetBits	24	static
-event_groups.c:194:13:xEventGroupSync	24	static
-event_groups.c:674:6:vEventGroupSetBitsCallback	0	static
-event_groups.c:628:6:vEventGroupDelete	16	static
-event_groups.c:729:16:xEventGroupSetBitsFromISR	0	static
-event_groups.c:746:17:uxEventGroupGetNumber	0	static
-event_groups.c:768:10:vEventGroupSetNumber	0	static
+event_groups.c:148:24:xEventGroupCreate	16	static
+event_groups.c:194:13:xEventGroupSync	56	static
+event_groups.c:317:13:xEventGroupWaitBits	72	static
+event_groups.c:473:13:xEventGroupClearBits	32	static
+event_groups.c:503:16:xEventGroupClearBitsFromISR	24	static
+event_groups.c:517:13:xEventGroupGetBitsFromISR	32	static
+event_groups.c:533:13:xEventGroupSetBits	64	static
+event_groups.c:628:6:vEventGroupDelete	32	static
+event_groups.c:674:6:vEventGroupSetBitsCallback	16	static
+event_groups.c:683:6:vEventGroupClearBitsCallback	16	static
+event_groups.c:690:19:prvTestWaitCondition	24	static
+event_groups.c:729:16:xEventGroupSetBitsFromISR	32	static
+event_groups.c:746:17:uxEventGroupGetNumber	16	static
+event_groups.c:768:10:vEventGroupSetNumber	8	static

+ 106 - 111
Debug_FLASH/FreeRTOS/Source/list.c.000i.cgraph

@@ -3,81 +3,81 @@ Trivially needed symbols: uxListRemove vListInsert vListInsertEnd vListInitialis
 
 Initial Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   Aux: @01733ea0
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b57ee0
+  Visibility: force_output no_reorder public
+  Aux: @06b36ee0
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b57c40
+  Visibility: force_output no_reorder public
+  Aux: @06b36c40
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b579a0
+  Visibility: force_output no_reorder public
+  Aux: @06b369a0
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b57700
+  Visibility: force_output no_reorder public
+  Aux: @06b36700
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortSetBASEPRI/3 (vPortSetBASEPRI) @06afc380
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06adb380
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06afc0e0
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06adb0e0
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06af6d20
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06ad6d20
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06af6a80
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06ad6a80
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
 
@@ -85,88 +85,88 @@ Removing unused symbols: vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI xP
 
 Reclaimed Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 
 
 Initial Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 
@@ -174,44 +174,44 @@ Removing unused symbols:
 
 Reclaimed Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 
@@ -220,49 +220,49 @@ Reclaiming variables:
 Clearing address taken flags:
 Optimized Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 Materializing clones
@@ -271,58 +271,53 @@ Materialization Call site updates done.
 Reclaiming functions:
 Reclaiming variables:
 Clearing address taken flags:
-Time profile order in expand_all_functions:vListInitialise:0
-Time profile order in expand_all_functions:vListInitialiseItem:0
-Time profile order in expand_all_functions:vListInsertEnd:0
-Time profile order in expand_all_functions:vListInsert:0
-Time profile order in expand_all_functions:uxListRemove:0
 Trivially needed variables:
 Removing variables:
 
 Final Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 

+ 18 - 61
Debug_FLASH/FreeRTOS/Source/list.c.016i.visibility

@@ -13,49 +13,49 @@ Reclaiming variables:
 Clearing address taken flags:
 Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 uxListRemove (struct ListItem_t * const pxItemToRemove)
@@ -64,18 +64,13 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
   UBaseType_t D.6027;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxList = pxItemToRemove->pvContainer;
-  # DEBUG BEGIN_STMT
   _1 = pxItemToRemove->pxNext;
   _2 = pxItemToRemove->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
   _3 = pxItemToRemove->pxPrevious;
   _4 = pxItemToRemove->pxNext;
   _3->pxNext = _4;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _5 = pxList->pxIndex;
   if (pxItemToRemove == _5)
     goto <bb 3>; [INV]
@@ -83,20 +78,18 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _6 = pxItemToRemove->pxPrevious;
   pxList->pxIndex = _6;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxItemToRemove->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
   _7 = pxList->uxNumberOfItems;
   _8 = _7 + 4294967295;
   pxList->uxNumberOfItems = _8;
-  # DEBUG BEGIN_STMT
   D.6027 = pxList->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
   return D.6027;
 
 }
@@ -108,34 +101,24 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct ListItem_t * pxIterator;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xValueOfInsertion = pxNewListItem->xItemValue;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xValueOfInsertion == 4294967295)
     goto <bb 3>; [INV]
   else
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   pxIterator = pxList->xListEnd.pxPrevious;
   goto <bb 7>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   pxIterator = &pxList->xListEnd;
   goto <bb 6>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxIterator = pxIterator->pxNext;
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   _1 = pxIterator->pxNext;
   _2 = _1->xItemValue;
   if (xValueOfInsertion >= _2)
@@ -144,19 +127,13 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
     goto <bb 7>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   _3 = pxIterator->pxNext;
   pxNewListItem->pxNext = _3;
-  # DEBUG BEGIN_STMT
   _4 = pxNewListItem->pxNext;
   _4->pxPrevious = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pxPrevious = pxIterator;
-  # DEBUG BEGIN_STMT
   pxIterator->pxNext = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pvContainer = pxList;
-  # DEBUG BEGIN_STMT
   _5 = pxList->uxNumberOfItems;
   _6 = _5 + 1;
   pxList->uxNumberOfItems = _6;
@@ -170,24 +147,14 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   struct ListItem_t * const pxIndex;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxIndex = pxList->pxIndex;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem->pxNext = pxIndex;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex->pxPrevious;
   pxNewListItem->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex->pxPrevious;
   _2->pxNext = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxIndex->pxPrevious = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pvContainer = pxList;
-  # DEBUG BEGIN_STMT
   _3 = pxList->uxNumberOfItems;
   _4 = _3 + 1;
   pxList->uxNumberOfItems = _4;
@@ -199,10 +166,7 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxItem->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -211,21 +175,14 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = &pxList->xListEnd;
   pxList->pxIndex = _1;
-  # DEBUG BEGIN_STMT
   pxList->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
   _2 = &pxList->xListEnd;
   pxList->xListEnd.pxNext = _2;
-  # DEBUG BEGIN_STMT
   _3 = &pxList->xListEnd;
   pxList->xListEnd.pxPrevious = _3;
-  # DEBUG BEGIN_STMT
   pxList->uxNumberOfItems = 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }

+ 3 - 46
Debug_FLASH/FreeRTOS/Source/list.c.017i.build_ssa_passes

@@ -4,18 +4,13 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
   UBaseType_t D.6027;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxList = pxItemToRemove->pvContainer;
-  # DEBUG BEGIN_STMT
   _1 = pxItemToRemove->pxNext;
   _2 = pxItemToRemove->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
   _3 = pxItemToRemove->pxPrevious;
   _4 = pxItemToRemove->pxNext;
   _3->pxNext = _4;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _5 = pxList->pxIndex;
   if (pxItemToRemove == _5)
     goto <bb 3>; [INV]
@@ -23,20 +18,18 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _6 = pxItemToRemove->pxPrevious;
   pxList->pxIndex = _6;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxItemToRemove->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
   _7 = pxList->uxNumberOfItems;
   _8 = _7 + 4294967295;
   pxList->uxNumberOfItems = _8;
-  # DEBUG BEGIN_STMT
   D.6027 = pxList->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
   return D.6027;
 
 }
@@ -48,34 +41,24 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct ListItem_t * pxIterator;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xValueOfInsertion = pxNewListItem->xItemValue;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xValueOfInsertion == 4294967295)
     goto <bb 3>; [INV]
   else
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   pxIterator = pxList->xListEnd.pxPrevious;
   goto <bb 7>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   pxIterator = &pxList->xListEnd;
   goto <bb 6>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxIterator = pxIterator->pxNext;
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   _1 = pxIterator->pxNext;
   _2 = _1->xItemValue;
   if (xValueOfInsertion >= _2)
@@ -84,19 +67,13 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
     goto <bb 7>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   _3 = pxIterator->pxNext;
   pxNewListItem->pxNext = _3;
-  # DEBUG BEGIN_STMT
   _4 = pxNewListItem->pxNext;
   _4->pxPrevious = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pxPrevious = pxIterator;
-  # DEBUG BEGIN_STMT
   pxIterator->pxNext = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pvContainer = pxList;
-  # DEBUG BEGIN_STMT
   _5 = pxList->uxNumberOfItems;
   _6 = _5 + 1;
   pxList->uxNumberOfItems = _6;
@@ -110,24 +87,14 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   struct ListItem_t * const pxIndex;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxIndex = pxList->pxIndex;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem->pxNext = pxIndex;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex->pxPrevious;
   pxNewListItem->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex->pxPrevious;
   _2->pxNext = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxIndex->pxPrevious = pxNewListItem;
-  # DEBUG BEGIN_STMT
   pxNewListItem->pvContainer = pxList;
-  # DEBUG BEGIN_STMT
   _3 = pxList->uxNumberOfItems;
   _4 = _3 + 1;
   pxList->uxNumberOfItems = _4;
@@ -139,10 +106,7 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxItem->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -151,21 +115,14 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = &pxList->xListEnd;
   pxList->pxIndex = _1;
-  # DEBUG BEGIN_STMT
   pxList->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
   _2 = &pxList->xListEnd;
   pxList->xListEnd.pxNext = _2;
-  # DEBUG BEGIN_STMT
   _3 = &pxList->xListEnd;
   pxList->xListEnd.pxPrevious = _3;
-  # DEBUG BEGIN_STMT
   pxList->uxNumberOfItems = 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }

+ 4 - 54
Debug_FLASH/FreeRTOS/Source/list.c.022i.opt_local_passes

@@ -1,6 +1,7 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
   struct xLIST_ITEM * _3;
@@ -12,19 +13,13 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
   UBaseType_t _18;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxList_12 = pxItemToRemove_11(D)->pvContainer;
-  # DEBUG pxList => pxList_12
-  # DEBUG BEGIN_STMT
   _1 = pxItemToRemove_11(D)->pxNext;
   _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
   _3 = pxItemToRemove_11(D)->pxPrevious;
   _4 = pxItemToRemove_11(D)->pxNext;
   _3->pxNext = _4;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _5 = pxList_12->pxIndex;
   if (pxItemToRemove_11(D) == _5)
     goto <bb 3>; [INV]
@@ -32,20 +27,18 @@ uxListRemove (struct ListItem_t * const pxItemToRemove)
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _6 = pxItemToRemove_11(D)->pxPrevious;
   pxList_12->pxIndex = _6;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxItemToRemove_11(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
   _7 ={v} pxList_12->uxNumberOfItems;
   _8 = _7 + 4294967295;
   pxList_12->uxNumberOfItems ={v} _8;
-  # DEBUG BEGIN_STMT
   _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
   return _18;
 
 }
@@ -63,40 +56,25 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   long unsigned int _6;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_11
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (xValueOfInsertion_11 == 4294967295)
     goto <bb 3>; [INV]
   else
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_15
   goto <bb 7>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   pxIterator_13 = &pxList_12(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_13
   goto <bb 6>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxIterator_14 = pxIterator_7->pxNext;
-  # DEBUG pxIterator => pxIterator_14
 
   <bb 6> :
   # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
   _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
   if (xValueOfInsertion_11 >= _2)
@@ -106,20 +84,13 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
 
   <bb 7> :
   # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
-  # DEBUG pxIterator => pxIterator_8
-  # DEBUG BEGIN_STMT
   _3 = pxIterator_8->pxNext;
   pxNewListItem_10(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
   _4 = pxNewListItem_10(D)->pxNext;
   _4->pxPrevious = pxNewListItem_10(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_10(D)->pxPrevious = pxIterator_8;
-  # DEBUG BEGIN_STMT
   pxIterator_8->pxNext = pxNewListItem_10(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_10(D)->pvContainer = pxList_12(D);
-  # DEBUG BEGIN_STMT
   _5 ={v} pxList_12(D)->uxNumberOfItems;
   _6 = _5 + 1;
   pxList_12(D)->uxNumberOfItems ={v} _6;
@@ -137,25 +108,14 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _4;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -167,10 +127,7 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -183,21 +140,14 @@ vListInitialise (struct List_t * const pxList)
   struct MiniListItem_t * _3;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = &pxList_4(D)->xListEnd;
   pxList_4(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
   pxList_4(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
   _2 = &pxList_4(D)->xListEnd;
   pxList_4(D)->xListEnd.pxNext = _2;
-  # DEBUG BEGIN_STMT
   _3 = &pxList_4(D)->xListEnd;
   pxList_4(D)->xListEnd.pxPrevious = _3;
-  # DEBUG BEGIN_STMT
   pxList_4(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }

+ 102 - 136
Debug_FLASH/FreeRTOS/Source/list.c.048i.remove_symbols

@@ -4,94 +4,93 @@ Reclaiming variables:
 Clearing address taken flags:
 Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -103,65 +102,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -175,26 +158,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -205,11 +177,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -218,21 +187,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.060i.targetclone

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.064i.free-fnsummary1

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 102 - 137
Debug_FLASH/FreeRTOS/Source/list.c.068i.whole-program

@@ -7,101 +7,99 @@ Marking externally visible functions: uxListRemove vListInsert vListInsertEnd vL
 
 Marking externally visible variables:
 
-Clearing variable flags:
 
 Reclaiming functions:
 Reclaiming variables:
 Clearing address taken flags:
 Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -113,65 +111,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -185,26 +167,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -215,11 +186,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -228,21 +196,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 0 - 190
Debug_FLASH/FreeRTOS/Source/list.c.069i.profile_estimate

@@ -1,190 +0,0 @@
-Histogram:
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-

+ 0 - 236
Debug_FLASH/FreeRTOS/Source/list.c.070i.icf

@@ -1,236 +0,0 @@
-Parsed function:uxListRemove
-Parsed function:vListInsert
-Parsed function:vListInsertEnd
-Parsed function:vListInitialiseItem
-Parsed function:vListInitialise
-Dump after hash based groups
-Congruence classes: 5 (unique hash values: 5), with total: 5 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 5 classes
-
-
-Dump after WPA based types groups
-Congruence classes: 5 (unique hash values: 5), with total: 5 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 5 classes
-
-
-Worklist has been filled with: 0
-Address reference subdivision created: 0 new classes.
-Dump after callgraph-based congruence reduction
-Congruence classes: 5 (unique hash values: 5), with total: 5 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 5 classes
-
-
-Init called for 0 items (0.00%).
-Dump after full equality comparison of groups
-Congruence classes: 5 (unique hash values: 5), with total: 5 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 5 classes
-
-
-Worklist has been filled with: 0
-Address reference subdivision created: 0 new classes.
-Congruence classes: 5 (unique hash values: 5), with total: 5 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 5 classes
-
-
-
-Item count: 5
-Congruent classes before: 5, after: 5
-Average class size before: 1.00, after: 1.00
-Average non-singular class size: 0.00, count: 0
-Equal symbols: 0
-Fraction of visited symbols: 0.00%
-
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-

+ 0 - 236
Debug_FLASH/FreeRTOS/Source/list.c.071i.devirt

@@ -1,236 +0,0 @@
-Symbol table:
-
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-

+ 0 - 330
Debug_FLASH/FreeRTOS/Source/list.c.072i.cp

@@ -1,330 +0,0 @@
-
-IPA constant propagation start:
-
-IPA structures before propagation:
-
-Jump functions:
-  Jump functions of caller  uxListRemove/8:
-  Jump functions of caller  vListInsert/7:
-  Jump functions of caller  vListInsertEnd/6:
-  Jump functions of caller  vListInitialiseItem/5:
-  Jump functions of caller  vListInitialise/4:
-
- Propagating constants:
-
-Not considering uxListRemove for cloning; -fipa-cp-clone disabled.
-Not considering vListInsert for cloning; -fipa-cp-clone disabled.
-Not considering vListInsertEnd for cloning; -fipa-cp-clone disabled.
-Not considering vListInitialiseItem for cloning; -fipa-cp-clone disabled.
-Not considering vListInitialise for cloning; -fipa-cp-clone disabled.
-
-overall_size: 63, max_new_size: 11001
-
-IPA lattices after all propagation:
-
-Lattices:
-  Node: uxListRemove/8:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vListInsert/7:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vListInsertEnd/6:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vListInitialiseItem/5:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: vListInitialise/4:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-
-IPA decision stage:
-
-
-IPA constant propagation end
-
-Reclaiming functions:
-Reclaiming variables:
-Clearing address taken flags:
-Symbol table:
-
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-;; Function vListInitialise (vListInitialise, funcdef_no=4, decl_uid=5982, cgraph_uid=5, symbol_order=4)
-
-Modification phase of node vListInitialise/4
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-
-;; Function vListInitialiseItem (vListInitialiseItem, funcdef_no=5, decl_uid=5984, cgraph_uid=6, symbol_order=5)
-
-Modification phase of node vListInitialiseItem/5
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-
-;; Function vListInsertEnd (vListInsertEnd, funcdef_no=6, decl_uid=5990, cgraph_uid=7, symbol_order=6)
-
-Modification phase of node vListInsertEnd/6
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-
-;; Function vListInsert (vListInsert, funcdef_no=7, decl_uid=5987, cgraph_uid=8, symbol_order=7)
-
-Modification phase of node vListInsert/7
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-
-;; Function uxListRemove (uxListRemove, funcdef_no=8, decl_uid=5992, cgraph_uid=9, symbol_order=8)
-
-Modification phase of node uxListRemove/8
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-

+ 97 - 275
Debug_FLASH/FreeRTOS/Source/list.c.075i.fnsummary

@@ -1,237 +1,92 @@
-
-Analyzing function: uxListRemove/8
-;; 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: uxListRemove
-
-IPA function summary for uxListRemove/8 inlinable
-  global time:     15.300000
-  self size:       17
-  global size:     0
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:10.500000, time:9.800000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
-  calls:
-
-
-Analyzing function: vListInsert/7
-;; 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 4 }
-;; 3 succs { 6 }
-;; 4 succs { 5 }
-;; 5 succs { 7 6 }
-;; 7 succs { 5 }
-;; 6 succs { 1 }
-
-Analyzing function body size: vListInsert
-
-IPA function summary for vListInsert/7 inlinable
-  global time:     38.340000
-  self size:       20
-  global size:     0
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:5.000000, time:5.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
-    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
-    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-
-Analyzing function: vListInsertEnd/6
-;; 1 loops found
-;;
-;; Loop 0
-;;  header 0, latch 1
-;;  depth 0, outer -1
-;;  nodes: 0 1 2
-;; 2 succs { 1 }
-
-Analyzing function body size: vListInsertEnd
-
-IPA function summary for vListInsertEnd/6 inlinable
-  global time:     13.000000
-  self size:       14
-  global size:     0
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:6.000000, time:6.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-
-Analyzing function: vListInitialiseItem/5
-;; 1 loops found
-;;
-;; Loop 0
-;;  header 0, latch 1
-;;  depth 0, outer -1
-;;  nodes: 0 1 2
-;; 2 succs { 1 }
-
-Analyzing function body size: vListInitialiseItem
-
-IPA function summary for vListInitialiseItem/5 inlinable
-  global time:     3.000000
-  self size:       4
-  global size:     0
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:0.500000, time:0.500000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-  calls:
-
-
-Analyzing function: vListInitialise/4
-;; 1 loops found
-;;
-;; Loop 0
-;;  header 0, latch 1
-;;  depth 0, outer -1
-;;  nodes: 0 1 2
-;; 2 succs { 1 }
-
-Analyzing function body size: vListInitialise
-
-IPA function summary for vListInitialise/4 inlinable
-  global time:     7.000000
-  self size:       8
-  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)
-  calls:
-
 Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
 
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -243,65 +98,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
 
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
 
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
 
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -315,26 +154,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -345,11 +173,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -358,21 +183,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 114 - 287
Debug_FLASH/FreeRTOS/Source/list.c.076i.inline

@@ -1,211 +1,72 @@
-IPA function summary for uxListRemove/8 inlinable
-  global time:     15.300000
-  self size:       17
-  global size:     17
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:10.500000, time:9.800000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
-  calls:
-
-IPA function summary for vListInsert/7 inlinable
-  global time:     38.340000
-  self size:       20
-  global size:     20
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:5.000000, time:5.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
-    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
-    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-IPA function summary for vListInsertEnd/6 inlinable
-  global time:     13.000000
-  self size:       14
-  global size:     14
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:6.000000, time:6.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-IPA function summary for vListInitialiseItem/5 inlinable
-  global time:     3.000000
-  self size:       4
-  global size:     4
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:0.500000, time:0.500000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-  calls:
-
-IPA function summary for vListInitialise/4 inlinable
-  global time:     7.000000
-  self size:       8
-  global size:     8
-  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)
-  calls:
-
+IPA summary for uxListRemove/8 is missing.
+IPA summary for vListInsert/7 is missing.
+IPA summary for vListInsertEnd/6 is missing.
+IPA summary for vListInitialiseItem/5 is missing.
+IPA summary for vListInitialise/4 is missing.
 
 Flattening functions:
-Overall time estimate: 76.640000 weighted by profile: 0.000000
+Overall time estimate: 0.000000 weighted by profile: 0.000000
 
 Deciding on inlining of small functions.  Starting with size 0.
-Enqueueing calls in uxListRemove/8.
-Enqueueing calls in vListInsert/7.
-Enqueueing calls in vListInsertEnd/6.
-Enqueueing calls in vListInitialiseItem/5.
-Enqueueing calls in vListInitialise/4.
 
 Reclaiming functions:
 Reclaiming variables:
 Clearing address taken flags:
 
 Deciding on functions to be inlined into all callers and removing useless speculations:
-Overall time estimate: 76.640000 weighted by profile: 0.000000
+Overall time estimate: 0.000000 weighted by profile: 0.000000
 
 Why inlining failed?
-IPA function summary for uxListRemove/8 inlinable
-  global time:     15.300000
-  self size:       17
-  global size:     17
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:10.500000, time:9.800000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 128] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 128] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 64] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 64] changed)
-  calls:
-
-IPA function summary for vListInsert/7 inlinable
-  global time:     38.340000
-  self size:       20
-  global size:     20
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:5.000000, time:5.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op1[ref offset: 0] changed) && (not inlined)
-    size:2.500000, time:2.500000,  nonconst if:(op1[ref offset: 0] changed)
-    size:4.000000, time:24.000000,  executed if:(op1[ref offset: 0] != 4294967295)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295) && (not inlined),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295) && (not inlined)
-    size:0.500000, time:0.170000,  executed if:(op1[ref offset: 0] == 4294967295),  nonconst if:(op0[ref offset: 128] changed) && (op1[ref offset: 0] == 4294967295)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-IPA function summary for vListInsertEnd/6 inlinable
-  global time:     13.000000
-  self size:       14
-  global size:     14
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:6.000000, time:6.000000
-    size:5.000000, time:4.000000,  executed if:(not inlined)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 32] changed) && (not inlined)
-    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 32] changed)
-    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 0] changed) && (not inlined)
-    size:1.500000, time:1.500000,  nonconst if:(op0[ref offset: 0] changed)
-  calls:
-
-IPA function summary for vListInitialiseItem/5 inlinable
-  global time:     3.000000
-  self size:       4
-  global size:     4
-  min size:       0
-  self stack:      0
-  global stack:    0
-    size:0.500000, time:0.500000
-    size:3.500000, time:2.500000,  executed if:(not inlined)
-  calls:
-
-IPA function summary for vListInitialise/4 inlinable
-  global time:     7.000000
-  self size:       8
-  global size:     8
-  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)
-  calls:
-
+IPA summary for uxListRemove/8 is missing.
+IPA summary for vListInsert/7 is missing.
+IPA summary for vListInsertEnd/6 is missing.
+IPA summary for vListInitialiseItem/5 is missing.
+IPA summary for vListInitialise/4 is missing.
 Symbol table:
 
-uxListRemove/8 (uxListRemove) @06b57ee0
+uxListRemove/8 (uxListRemove) @06b36ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsert/7 (vListInsert) @06b57c40
+vListInsert/7 (vListInsert) @06b36c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
+vListInsertEnd/6 (vListInsertEnd) @06b369a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
+vListInitialiseItem/5 (vListInitialiseItem) @06b36700
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
+vListInitialise/4 (vListInitialise) @06b36460
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
 
@@ -214,21 +75,18 @@ vListInitialise/4 (vListInitialise) @06b57460
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }
@@ -239,11 +97,8 @@ vListInitialise (struct List_t * const pxList)
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -260,26 +115,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -298,65 +142,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -368,46 +196,45 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 

+ 0 - 536
Debug_FLASH/FreeRTOS/Source/list.c.077i.pure-const

@@ -1,536 +0,0 @@
-
-
- local analysis of uxListRemove
-   scanning: pxList_9 = pxItemToRemove_8(D)->pvContainer;
-    Indirect ref read is not const
-  scanning: _1 = pxItemToRemove_8(D)->pxNext;
-    Indirect ref read is not const
-  scanning: _2 = pxItemToRemove_8(D)->pxPrevious;
-    Indirect ref read is not const
-  scanning: _1->pxPrevious = _2;
-    Indirect ref write is not const/pure
-  scanning: _2->pxNext = _1;
-    Indirect ref write is not const/pure
-  scanning: _3 = pxList_9->pxIndex;
-    Indirect ref read is not const
-  scanning: if (_3 == pxItemToRemove_8(D))
-  scanning: pxList_9->pxIndex = _2;
-    Indirect ref write is not const/pure
-  scanning: pxItemToRemove_8(D)->pvContainer = 0B;
-    Indirect ref write is not const/pure
-  scanning: _4 ={v} pxList_9->uxNumberOfItems;
-    Volatile stmt is not const/pure
-    Indirect ref read is not const
-  scanning: _5 = _4 + 4294967295;
-  scanning: pxList_9->uxNumberOfItems ={v} _5;
-    Volatile stmt is not const/pure
-    Indirect ref write is not const/pure
-  scanning: _15 ={v} pxList_9->uxNumberOfItems;
-    Volatile stmt is not const/pure
-    Indirect ref read is not const
-  scanning: return _15;
-
-
- local analysis of vListInsert
-   scanning: xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-    Indirect ref read is not const
-  scanning: if (xValueOfInsertion_10 == 4294967295)
-  scanning: pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-    Indirect ref read is not const
-  scanning: pxIterator_12 = &pxList_11(D)->xListEnd;
-  scanning: _1 = pxIterator_6->pxNext;
-    Indirect ref read is not const
-  scanning: _2 = _1->xItemValue;
-    Indirect ref read is not const
-  scanning: if (_2 <= xValueOfInsertion_10)
-  scanning: _3 = pxIterator_7->pxNext;
-    Indirect ref read is not const
-  scanning: pxNewListItem_9(D)->pxNext = _3;
-    Indirect ref write is not const/pure
-  scanning: _3->pxPrevious = pxNewListItem_9(D);
-    Indirect ref write is not const/pure
-  scanning: pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-    Indirect ref write is not const/pure
-  scanning: pxIterator_7->pxNext = pxNewListItem_9(D);
-    Indirect ref write is not const/pure
-  scanning: pxNewListItem_9(D)->pvContainer = pxList_11(D);
-    Indirect ref write is not const/pure
-  scanning: _4 ={v} pxList_11(D)->uxNumberOfItems;
-    Volatile stmt is not const/pure
-    Indirect ref read is not const
-  scanning: _5 = _4 + 1;
-  scanning: pxList_11(D)->uxNumberOfItems ={v} _5;
-    Volatile stmt is not const/pure
-    Indirect ref write is not const/pure
-  scanning: return;
-
-
- local analysis of vListInsertEnd
-   scanning: pxIndex_7 = pxList_6(D)->pxIndex;
-    Indirect ref read is not const
-  scanning: pxNewListItem_8(D)->pxNext = pxIndex_7;
-    Indirect ref write is not const/pure
-  scanning: _1 = pxIndex_7->pxPrevious;
-    Indirect ref read is not const
-  scanning: pxNewListItem_8(D)->pxPrevious = _1;
-    Indirect ref write is not const/pure
-  scanning: _2 = pxIndex_7->pxPrevious;
-    Indirect ref read is not const
-  scanning: _2->pxNext = pxNewListItem_8(D);
-    Indirect ref write is not const/pure
-  scanning: pxIndex_7->pxPrevious = pxNewListItem_8(D);
-    Indirect ref write is not const/pure
-  scanning: pxNewListItem_8(D)->pvContainer = pxList_6(D);
-    Indirect ref write is not const/pure
-  scanning: _3 ={v} pxList_6(D)->uxNumberOfItems;
-    Volatile stmt is not const/pure
-    Indirect ref read is not const
-  scanning: _4 = _3 + 1;
-  scanning: pxList_6(D)->uxNumberOfItems ={v} _4;
-    Volatile stmt is not const/pure
-    Indirect ref write is not const/pure
-  scanning: return;
-
-
- local analysis of vListInitialiseItem
-   scanning: pxItem_2(D)->pvContainer = 0B;
-    Indirect ref write is not const/pure
-  scanning: return;
-
-
- local analysis of vListInitialise
-   scanning: _1 = &pxList_2(D)->xListEnd;
-  scanning: pxList_2(D)->pxIndex = _1;
-    Indirect ref write is not const/pure
-  scanning: pxList_2(D)->xListEnd.xItemValue = 4294967295;
-    Indirect ref write is not const/pure
-  scanning: pxList_2(D)->xListEnd.pxNext = _1;
-    Indirect ref write is not const/pure
-  scanning: pxList_2(D)->xListEnd.pxPrevious = _1;
-    Indirect ref write is not const/pure
-  scanning: pxList_2(D)->uxNumberOfItems ={v} 0;
-    Volatile stmt is not const/pure
-    Indirect ref write is not const/pure
-  scanning: return;
-callgraph:
-
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734e48
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734e68
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734ec8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c28
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
- ordered call graph: reduced for nothrow
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734e48
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734e68
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734ec8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c28
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
-
-MALLOC LATTICE Initial:
-uxListRemove: malloc_bottom
-vListInsert: malloc_bottom
-vListInsertEnd: malloc_bottom
-vListInitialiseItem: malloc_bottom
-vListInitialise: malloc_bottom
-
-
-MALLOC LATTICE after propagation:
-uxListRemove: malloc_bottom
-vListInsert: malloc_bottom
-vListInsertEnd: malloc_bottom
-vListInitialiseItem: malloc_bottom
-vListInitialise: malloc_bottom
-callgraph:
-
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734ec8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734cc8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734f08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734d48
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
- ordered call graph: reduced
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734ec8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734cc8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734f08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734d48
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734c08
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-Function found not to call free: vListInitialise
-Function found not to call free: vListInitialiseItem
-Function found not to call free: vListInsertEnd
-Function found not to call free: vListInsert
-Function found not to call free: uxListRemove
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.078i.free-fnsummary2

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 0 - 336
Debug_FLASH/FreeRTOS/Source/list.c.079i.static-var

@@ -1,336 +0,0 @@
-callgraph:
-
-uxListRemove/8 (uxListRemove) @06b57ee0
-  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: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  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: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  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: 
-vListInitialise/4 (vListInitialise) @06b57460
-  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: 
-Clearing variable flags:
-
-Function name:uxListRemove/8:
-  locals read: 
-  locals written: 
-Function name:vListInsert/7:
-  locals read: 
-  locals written: 
-Function name:vListInsertEnd/6:
-  locals read: 
-  locals written: 
-Function name:vListInitialiseItem/5:
-  locals read: 
-  locals written: 
-Function name:vListInitialise/4:
-  locals read: 
-  locals written: 
-
- ordered call graph: reduced
-uxListRemove/8 (uxListRemove) @06b57ee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734d88
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-vListInsert/7 (vListInsert) @06b57c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734cc8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:178956970 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-vListInsertEnd/6 (vListInsertEnd) @06b579a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734da8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-vListInitialiseItem/5 (vListInitialiseItem) @06b57700
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734f48
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-vListInitialise/4 (vListInitialise) @06b57460
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06734ce8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-
-
-Function name:vListInitialise/4:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vListInitialiseItem/5:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vListInsertEnd/6:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vListInsert/7:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:uxListRemove/8:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-uxListRemove (struct ListItem_t * const pxItemToRemove)
-{
-  struct List_t * const pxList;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
-  _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
-  else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
-
-}
-
-
-vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  const TickType_t xValueOfInsertion;
-  struct ListItem_t * pxIterator;
-  struct xLIST_ITEM * _1;
-  long unsigned int _2;
-  struct xLIST_ITEM * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
-  else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
-  _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
-  else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
-  return;
-
-}
-
-
-vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
-{
-  struct ListItem_t * const pxIndex;
-  struct xLIST_ITEM * _1;
-  struct xLIST_ITEM * _2;
-  long unsigned int _3;
-  long unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
-  _1 = pxIndex_7->pxPrevious;
-  pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _2 = pxIndex_7->pxPrevious;
-  _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
-  _3 ={v} pxList_6(D)->uxNumberOfItems;
-  _4 = _3 + 1;
-  pxList_6(D)->uxNumberOfItems ={v} _4;
-  return;
-
-}
-
-
-vListInitialiseItem (struct ListItem_t * const pxItem)
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-vListInitialise (struct List_t * const pxList)
-{
-  struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.080i.single-use

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.081i.comdats

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

+ 87 - 121
Debug_FLASH/FreeRTOS/Source/list.c.082i.materialize-all-clones

@@ -1,46 +1,45 @@
 uxListRemove (struct ListItem_t * const pxItemToRemove)
 {
   struct List_t * const pxList;
+  UBaseType_t D.6027;
   struct xLIST_ITEM * _1;
   struct xLIST_ITEM * _2;
-  struct ListItem_t * _3;
-  long unsigned int _4;
-  long unsigned int _5;
-  UBaseType_t _15;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  pxList_9 = pxItemToRemove_8(D)->pvContainer;
-  # DEBUG pxList => pxList_9
-  # DEBUG BEGIN_STMT
-  _1 = pxItemToRemove_8(D)->pxNext;
-  _2 = pxItemToRemove_8(D)->pxPrevious;
+  struct xLIST_ITEM * _3;
+  struct xLIST_ITEM * _4;
+  struct ListItem_t * _5;
+  struct xLIST_ITEM * _6;
+  long unsigned int _7;
+  long unsigned int _8;
+  UBaseType_t _18;
+
+  <bb 2> :
+  pxList_12 = pxItemToRemove_11(D)->pvContainer;
+  _1 = pxItemToRemove_11(D)->pxNext;
+  _2 = pxItemToRemove_11(D)->pxPrevious;
   _1->pxPrevious = _2;
-  # DEBUG BEGIN_STMT
-  _2->pxNext = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = pxList_9->pxIndex;
-  if (_3 == pxItemToRemove_8(D))
-    goto <bb 3>; [30.00%]
+  _3 = pxItemToRemove_11(D)->pxPrevious;
+  _4 = pxItemToRemove_11(D)->pxNext;
+  _3->pxNext = _4;
+  _5 = pxList_12->pxIndex;
+  if (pxItemToRemove_11(D) == _5)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [70.00%]
-
-  <bb 3> [local count: 322122547]:
-  # DEBUG BEGIN_STMT
-  pxList_9->pxIndex = _2;
-
-  <bb 4> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxItemToRemove_8(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_9->uxNumberOfItems;
-  _5 = _4 + 4294967295;
-  pxList_9->uxNumberOfItems ={v} _5;
-  # DEBUG BEGIN_STMT
-  _15 ={v} pxList_9->uxNumberOfItems;
-  return _15;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  _6 = pxItemToRemove_11(D)->pxPrevious;
+  pxList_12->pxIndex = _6;
+
+  <bb 4> :
+  pxItemToRemove_11(D)->pvContainer = 0B;
+  _7 ={v} pxList_12->uxNumberOfItems;
+  _8 = _7 + 4294967295;
+  pxList_12->uxNumberOfItems ={v} _8;
+  _18 ={v} pxList_12->uxNumberOfItems;
+
+  <bb 5> :
+<L3>:
+  return _18;
 
 }
 
@@ -52,65 +51,49 @@ vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListIt
   struct xLIST_ITEM * _1;
   long unsigned int _2;
   struct xLIST_ITEM * _3;
-  long unsigned int _4;
+  struct xLIST_ITEM * _4;
   long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 178956970]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xValueOfInsertion_10 = pxNewListItem_9(D)->xItemValue;
-  # DEBUG xValueOfInsertion => xValueOfInsertion_10
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (xValueOfInsertion_10 == 4294967295)
-    goto <bb 3>; [34.00%]
+  <bb 2> :
+  xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
+  if (xValueOfInsertion_11 == 4294967295)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [66.00%]
-
-  <bb 3> [local count: 60845370]:
-  # DEBUG BEGIN_STMT
-  pxIterator_13 = pxList_11(D)->xListEnd.pxPrevious;
-  # DEBUG pxIterator => pxIterator_13
-  goto <bb 6>; [100.00%]
-
-  <bb 4> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  pxIterator_12 = &pxList_11(D)->xListEnd;
-  # DEBUG pxIterator => pxIterator_12
-
-  <bb 5> [local count: 1073741824]:
-  # pxIterator_6 = PHI <pxIterator_12(4), _1(7)>
-  # DEBUG pxIterator => pxIterator_6
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_6->pxNext;
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
+  goto <bb 7>; [INV]
+
+  <bb 4> :
+  pxIterator_13 = &pxList_12(D)->xListEnd;
+  goto <bb 6>; [INV]
+
+  <bb 5> :
+  pxIterator_14 = pxIterator_7->pxNext;
+
+  <bb 6> :
+  # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
+  _1 = pxIterator_7->pxNext;
   _2 = _1->xItemValue;
-  if (_2 <= xValueOfInsertion_10)
-    goto <bb 7>; [89.00%]
+  if (xValueOfInsertion_11 >= _2)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 955630223]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 178956970]:
-  # pxIterator_7 = PHI <pxIterator_13(3), pxIterator_6(5)>
-  # DEBUG pxIterator => pxIterator_7
-  # DEBUG BEGIN_STMT
-  _3 = pxIterator_7->pxNext;
-  pxNewListItem_9(D)->pxNext = _3;
-  # DEBUG BEGIN_STMT
-  _3->pxPrevious = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pxPrevious = pxIterator_7;
-  # DEBUG BEGIN_STMT
-  pxIterator_7->pxNext = pxNewListItem_9(D);
-  # DEBUG BEGIN_STMT
-  pxNewListItem_9(D)->pvContainer = pxList_11(D);
-  # DEBUG BEGIN_STMT
-  _4 ={v} pxList_11(D)->uxNumberOfItems;
-  _5 = _4 + 1;
-  pxList_11(D)->uxNumberOfItems ={v} _5;
+    goto <bb 7>; [INV]
+
+  <bb 7> :
+  # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
+  _3 = pxIterator_8->pxNext;
+  pxNewListItem_10(D)->pxNext = _3;
+  _4 = pxNewListItem_10(D)->pxNext;
+  _4->pxPrevious = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pxPrevious = pxIterator_8;
+  pxIterator_8->pxNext = pxNewListItem_10(D);
+  pxNewListItem_10(D)->pvContainer = pxList_12(D);
+  _5 ={v} pxList_12(D)->uxNumberOfItems;
+  _6 = _5 + 1;
+  pxList_12(D)->uxNumberOfItems ={v} _6;
   return;
 
 }
@@ -124,26 +107,15 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
   long unsigned int _3;
   long unsigned int _4;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxIndex_7 = pxList_6(D)->pxIndex;
-  # DEBUG pxIndex => pxIndex_7
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pxNext = pxIndex_7;
-  # DEBUG BEGIN_STMT
   _1 = pxIndex_7->pxPrevious;
   pxNewListItem_8(D)->pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   _2 = pxIndex_7->pxPrevious;
   _2->pxNext = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxIndex_7->pxPrevious = pxNewListItem_8(D);
-  # DEBUG BEGIN_STMT
   pxNewListItem_8(D)->pvContainer = pxList_6(D);
-  # DEBUG BEGIN_STMT
   _3 ={v} pxList_6(D)->uxNumberOfItems;
   _4 = _3 + 1;
   pxList_6(D)->uxNumberOfItems ={v} _4;
@@ -154,11 +126,8 @@ vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewLis
 
 vListInitialiseItem (struct ListItem_t * const pxItem)
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   pxItem_2(D)->pvContainer = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -167,21 +136,18 @@ vListInitialiseItem (struct ListItem_t * const pxItem)
 vListInitialise (struct List_t * const pxList)
 {
   struct MiniListItem_t * _1;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _1 = &pxList_2(D)->xListEnd;
-  pxList_2(D)->pxIndex = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.xItemValue = 4294967295;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxNext = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->xListEnd.pxPrevious = _1;
-  # DEBUG BEGIN_STMT
-  pxList_2(D)->uxNumberOfItems ={v} 0;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  struct MiniListItem_t * _2;
+  struct MiniListItem_t * _3;
+
+  <bb 2> :
+  _1 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->pxIndex = _1;
+  pxList_4(D)->xListEnd.xItemValue = 4294967295;
+  _2 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxNext = _2;
+  _3 = &pxList_4(D)->xListEnd;
+  pxList_4(D)->xListEnd.pxPrevious = _3;
+  pxList_4(D)->uxNumberOfItems ={v} 0;
   return;
 
 }

BIN
Debug_FLASH/FreeRTOS/Source/list.o


+ 5 - 5
Debug_FLASH/FreeRTOS/Source/list.su

@@ -1,5 +1,5 @@
-list.c:50:6:vListInitialise	0	static
-list.c:75:6:vListInitialiseItem	0	static
-list.c:87:6:vListInsertEnd	0	static
-list.c:117:6:vListInsert	12	static
-list.c:188:13:uxListRemove	0	static
+list.c:50:6:vListInitialise	8	static
+list.c:75:6:vListInitialiseItem	8	static
+list.c:87:6:vListInsertEnd	16	static
+list.c:117:6:vListInsert	16	static
+list.c:188:13:uxListRemove	16	static

+ 1 - 1
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.args

@@ -16,7 +16,7 @@
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include"
--Os
+-O0
 -funsigned-char
 -fstack-usage
 -fdump-ipa-all

File diff suppressed because it is too large
+ 342 - 323
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.cgraph


+ 2 - 5
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.000i.ipa-clones

@@ -1,6 +1,5 @@
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
-Callgraph clone;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;part
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEndScheduler;13;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;402;6;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEnterCritical;14;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;410;6;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortEnterCritical;14;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;410;6;inlining to
@@ -12,10 +11,8 @@ Callgraph removal;vPortSetBASEPRI;3;D:/1_WorkFiles/2_Software/11.Communicator/wo
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;xPortStartScheduler;12;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;293;12;inlining to
-Callgraph removal;vPortRaiseBASEPRI;32;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
+Callgraph removal;vPortRaiseBASEPRI;31;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortValidateInterruptPriority;20;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;729;10;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortValidateInterruptPriority;20;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;729;10;inlining to
 Callgraph removal;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph removal;vPortRaiseBASEPRI;35;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph clone;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;prvTaskExitError;9;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13;inlining to
-Callgraph removal;prvTaskExitError.part.0;25;../FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;221;13
+Callgraph removal;vPortRaiseBASEPRI;34;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34

+ 146 - 258
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.016i.visibility

@@ -1,5 +1,5 @@
 
-Marking local functions: vPortEnableVFP prvPortStartFirstTask vPortSetBASEPRI vPortRaiseBASEPRI
+Marking local functions: vPortSetBASEPRI vPortRaiseBASEPRI
 
 
 Marking externally visible functions: vPortValidateInterruptPriority vPortSetupTimerInterrupt SysTick_Handler PendSV_Handler vPortExitCritical vPortEnterCritical vPortEndScheduler xPortStartScheduler SVC_Handler pxPortInitialiseStack
@@ -13,179 +13,186 @@ Reclaiming variables:
 Clearing address taken flags:
 Symbol table:
 
-xTaskIncrementTick/22 (xTaskIncrementTick) @06b2c7e0
+xTaskIncrementTick/22 (xTaskIncrementTick) @06bc47e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
   Called by: SysTick_Handler/17 
   Calls: 
-vTaskSwitchContext/21 (vTaskSwitchContext) @06b21700
+vTaskSwitchContext/21 (vTaskSwitchContext) @06bc41c0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
   Called by: xPortStartScheduler/12 
   Calls: 
-vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06b219a0
+vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06bbf9a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-vPortEnableVFP/19 (vPortEnableVFP) @06b21620
+vPortEnableVFP/19 (vPortEnableVFP) @06bbf620
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: 
-  Availability: local
-  Function flags: body local optimize_size
+  Availability: available
+  Function flags: body
   Called by: xPortStartScheduler/12 
   Calls: 
-vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06b212a0
+vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06bbf2a0
   Type: function definition analyzed
-  Visibility: externally_visible public weak
+  Visibility: force_output externally_visible no_reorder public weak
   References: 
   Referring: 
   Availability: overwritable
-  Function flags: body optimize_size
+  Function flags: body
   Called by: xPortStartScheduler/12 
   Calls: 
-SysTick_Handler/17 (SysTick_Handler) @06b21000
+SysTick_Handler/17 (SysTick_Handler) @06bbf000
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortSetBASEPRI/3 xTaskIncrementTick/22 vPortRaiseBASEPRI/1 
-PendSV_Handler/16 (PendSV_Handler) @06b15a80
+PendSV_Handler/16 (PendSV_Handler) @06bb5a80
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
+vPortExitCritical/15 (vPortExitCritical) @06bb50e0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 
-vPortEnterCritical/14 (vPortEnterCritical) @06b15c40
+vPortEnterCritical/14 (vPortEnterCritical) @06bb5c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: uxCriticalNesting/4 (read)uxCriticalNesting/4 (write)uxCriticalNesting/4 (read)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-vPortEndScheduler/13 (vPortEndScheduler) @06b159a0
+vPortEndScheduler/13 (vPortEndScheduler) @06bb59a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: uxCriticalNesting/4 (read)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
+xPortStartScheduler/12 (xPortStartScheduler) @06bb5620
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: ucMaxSysCallPriority/5 (write)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)ulMaxPRIGROUPValue/6 (read)ulMaxPRIGROUPValue/6 (write)uxCriticalNesting/4 (write)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: prvTaskExitError/9 vTaskSwitchContext/21 prvPortStartFirstTask/11 vPortEnableVFP/19 vPortSetupTimerInterrupt/18 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-prvPortStartFirstTask/11 (prvPortStartFirstTask) @06b15380
+prvPortStartFirstTask/11 (prvPortStartFirstTask) @06bb5380
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: 
-  Availability: local
-  Function flags: body local optimize_size
+  Availability: available
+  Function flags: body
   Called by: xPortStartScheduler/12 
   Calls: 
-SVC_Handler/10 (SVC_Handler) @06b15000
+SVC_Handler/10 (SVC_Handler) @06bb5000
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
+prvTaskExitError/9 (prvTaskExitError) @06bb0a80
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   Address is taken.
   References: uxCriticalNesting/4 (read)
   Referring: pxPortInitialiseStack/8 (addr)
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: xPortStartScheduler/12 
   Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
+pxPortInitialiseStack/8 (pxPortInitialiseStack) @06bb0c40
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: prvTaskExitError/9 (addr)
   Referring: 
   Availability: available
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06b0f3a8
+pcInterruptPriorityRegisters/7 (pcInterruptPriorityRegisters) @06baf438
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags: initialized read-only const-value-known
+ulMaxPRIGROUPValue/6 (ulMaxPRIGROUPValue) @06baf3a8
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)xPortStartScheduler/12 (read)xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
   Availability: available
   Varpool flags: initialized
-ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06b0f318
+ucMaxSysCallPriority/5 (ucMaxSysCallPriority) @06baf318
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
   Availability: available
   Varpool flags: initialized
-uxCriticalNesting/4 (uxCriticalNesting) @06b0f1b0
+uxCriticalNesting/4 (uxCriticalNesting) @06baf1b0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: prvTaskExitError/9 (read)xPortStartScheduler/12 (write)vPortEndScheduler/13 (read)vPortEnterCritical/14 (read)vPortEnterCritical/14 (write)vPortEnterCritical/14 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (read)vPortExitCritical/15 (write)vPortExitCritical/15 (read)
   Availability: available
   Varpool flags: initialized
-vPortSetBASEPRI/3 (vPortSetBASEPRI) @06aafb60
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b4fb60
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: no_reorder prevailing_def_ironly
   References: 
   Referring: 
   Availability: local
-  Function flags: body local optimize_size
+  Function flags: body local
   Called by: SysTick_Handler/17 vPortExitCritical/15 
   Calls: 
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06aaf540
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b4f540
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: no_reorder prevailing_def_ironly
   References: 
   Referring: 
   Availability: local
-  Function flags: body local optimize_size
+  Function flags: body local
   Called by: vPortValidateInterruptPriority/20 vPortValidateInterruptPriority/20 SysTick_Handler/17 vPortExitCritical/15 vPortEnterCritical/14 vPortEnterCritical/14 vPortEndScheduler/13 xPortStartScheduler/12 xPortStartScheduler/12 xPortStartScheduler/12 prvTaskExitError/9 prvTaskExitError/9 
   Calls: 
 vPortValidateInterruptPriority ()
@@ -194,61 +201,45 @@ vPortValidateInterruptPriority ()
   uint32_t ulCurrentInterrupt;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt :  : "memory");
-  # DEBUG BEGIN_STMT
   if (ulCurrentInterrupt > 15)
     goto <bb 3>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  _1 = 3758154736B + ulCurrentInterrupt;
-  ucCurrentPriority = *_1;
-  # DEBUG BEGIN_STMT
-  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
-  if (ucCurrentPriority < ucMaxSysCallPriority.19_2)
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt;
+  ucCurrentPriority = *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority < ucMaxSysCallPriority.20_3)
     goto <bb 4>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = 3758157068B;
-  _4 = *_3;
-  _5 = _4 & 1792;
-  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
-  if (_5 > ulMaxPRIGROUPValue.20_6)
+  _4 = 3758157068B;
+  _5 = *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
     goto <bb 7>; [INV]
   else
     goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -258,7 +249,6 @@ __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -276,16 +266,12 @@ __attribute__((weak))
 vPortSetupTimerInterrupt ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = 3758153744B;
   *_1 = 0;
-  # DEBUG BEGIN_STMT
   _2 = 3758153752B;
   *_2 = 0;
-  # DEBUG BEGIN_STMT
   _3 = 3758153748B;
   *_3 = 47999;
-  # DEBUG BEGIN_STMT
   _4 = 3758153744B;
   *_4 = 7;
   return;
@@ -296,9 +282,7 @@ vPortSetupTimerInterrupt ()
 SysTick_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
     goto <bb 3>; [INV]
@@ -306,12 +290,10 @@ SysTick_Handler ()
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _2 = 3758157060B;
   *_2 = 268435456;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
   return;
 
@@ -322,7 +304,6 @@ __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -372,7 +353,6 @@ pxCurrentTCBConst: .word pxCurrentTCB
 vPortExitCritical ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
     goto <bb 3>; [INV]
@@ -380,22 +360,15 @@ vPortExitCritical ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.17_2 = uxCriticalNesting;
   _3 = uxCriticalNesting.17_2 + 4294967295;
   uxCriticalNesting = _3;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.18_4 = uxCriticalNesting;
   if (uxCriticalNesting.18_4 == 0)
     goto <bb 6>; [INV]
@@ -403,7 +376,6 @@ vPortExitCritical ()
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
 
   <bb 7> :
@@ -415,13 +387,10 @@ vPortExitCritical ()
 vPortEnterCritical ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.15_3 = uxCriticalNesting;
   if (uxCriticalNesting.15_3 == 1)
     goto <bb 3>; [INV]
@@ -429,7 +398,6 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _4 = 3758157060B;
   _5 = *_4;
   _6 = _5 & 255;
@@ -439,17 +407,12 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -458,7 +421,6 @@ vPortEnterCritical ()
 vPortEndScheduler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
     goto <bb 3>; [INV]
@@ -466,17 +428,12 @@ vPortEndScheduler ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -490,159 +447,115 @@ xPortStartScheduler ()
   BaseType_t D.5855;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+
+  <bb 3> :
   _1 = 3758157056B;
   _2 = *_1;
   if (_2 == 1091551857)
-    goto <bb 3>; [INV]
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [INV]
-
-  <bb 3> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 4>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   _3 = 3758157056B;
   _4 = *_3;
   if (_4 == 1091551856)
-    goto <bb 6>; [INV]
+    goto <bb 7>; [INV]
   else
-    goto <bb 8>; [INV]
-
-  <bb 6> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 7>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pucFirstUserPriorityRegister = 3758154752B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = 3758154752B;
-  _6 = *_5;
-  _7 = (long unsigned int) _6;
-  ulOriginalPriority = _7;
-  # DEBUG BEGIN_STMT
-  _8 = 3758154752B;
-  *_8 = 255;
-  # DEBUG BEGIN_STMT
-  _9 = 3758154752B;
-  _10 = *_9;
-  ucMaxPriorityValue = _10;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.5_11 = ucMaxPriorityValue;
-  _12 = ucMaxPriorityValue.5_11 & 16;
-  ucMaxSysCallPriority = _12;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue = 7;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [INV]
+  goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
-  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
-  ulMaxPRIGROUPValue = _14;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.7_15 = ucMaxPriorityValue;
-  _16 = ucMaxPriorityValue.7_15 << 1;
-  ucMaxPriorityValue = _16;
+  pucFirstUserPriorityRegister = 3758154752B;
+  _5 = *pucFirstUserPriorityRegister;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority = _6;
+  *pucFirstUserPriorityRegister = 255;
+  _7 = *pucFirstUserPriorityRegister;
+  ucMaxPriorityValue = _7;
+  ucMaxPriorityValue.5_8 = ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
+  ulMaxPRIGROUPValue = 7;
+  goto <bb 11>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.8_17 = ucMaxPriorityValue;
-  _18 = (int) ucMaxPriorityValue.8_17;
-  _19 = _18 & 128;
-  if (_19 == 128)
-    goto <bb 9>; [INV]
-  else
-    goto <bb 11>; [INV]
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 = ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue = _13;
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
-  _21 = 7 - ulMaxPRIGROUPValue.9_20;
-  if (_21 != 4)
-    goto <bb 12>; [INV]
+  ucMaxPriorityValue.8_14 = ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 10>; [INV]
   else
-    goto <bb 14>; [INV]
+    goto <bb 12>; [INV]
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 13>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
-  _23 = ulMaxPRIGROUPValue.10_22 << 8;
-  ulMaxPRIGROUPValue = _23;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
-  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
-  ulMaxPRIGROUPValue = _25;
-  # DEBUG BEGIN_STMT
-  ulOriginalPriority.12_26 = ulOriginalPriority;
-  _27 = 3758154752B;
-  _28 = (unsigned char) ulOriginalPriority.12_26;
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 = ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister = _24;
+  _25 = 3758157088B;
+  _26 = *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
   *_27 = _28;
-  # DEBUG BEGIN_STMT
   _29 = 3758157088B;
   _30 = *_29;
   _31 = 3758157088B;
-  _32 = _30 | 15728640;
+  _32 = _30 | 4026531840;
   *_31 = _32;
-  # DEBUG BEGIN_STMT
-  _33 = 3758157088B;
-  _34 = *_33;
-  _35 = 3758157088B;
-  _36 = _34 | 4026531840;
-  *_35 = _36;
-  # DEBUG BEGIN_STMT
   vPortSetupTimerInterrupt ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting = 0;
-  # DEBUG BEGIN_STMT
   vPortEnableVFP ();
-  # DEBUG BEGIN_STMT
-  _37 = 3758157620B;
-  _38 = *_37;
-  _39 = 3758157620B;
-  _40 = _38 | 3221225472;
-  *_39 = _40;
-  # DEBUG BEGIN_STMT
+  _33 = 3758157620B;
+  _34 = *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 = _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
   D.5855 = 0;
+
+  <bb 16> :
+<L15>:
   return D.5855;
 
 }
@@ -652,7 +565,6 @@ __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -676,7 +588,6 @@ __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -700,9 +611,7 @@ prvTaskExitError ()
   volatile uint32_t ulDummy;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   ulDummy = 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
     goto <bb 3>; [INV]
@@ -710,24 +619,15 @@ prvTaskExitError ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   ulDummy.4_2 = ulDummy;
   if (ulDummy.4_2 == 0)
     goto <bb 6>; [INV]
@@ -745,34 +645,25 @@ pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void
   StackType_t * D.5843;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   *pxTopOfStack = 16777216;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   pxCode.0_1 = (long unsigned int) pxCode;
   _2 = pxCode.0_1 & 4294967294;
   *pxTopOfStack = _2;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
   *pxTopOfStack = prvTaskExitError.1_3;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967276;
-  # DEBUG BEGIN_STMT
   pvParameters.2_4 = (long unsigned int) pvParameters;
   *pxTopOfStack = pvParameters.2_4;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   *pxTopOfStack = 4294967293;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967264;
-  # DEBUG BEGIN_STMT
   D.5843 = pxTopOfStack;
+
+  <bb 3> :
+<L0>:
   return D.5843;
 
 }
@@ -782,7 +673,6 @@ __attribute__((always_inline))
 vPortSetBASEPRI (uint32_t ulNewMaskValue)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
   return;
 
@@ -795,8 +685,6 @@ vPortRaiseBASEPRI ()
   uint32_t ulNewBASEPRI;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														

+ 81 - 200
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.017i.build_ssa_passes

@@ -4,61 +4,45 @@ vPortValidateInterruptPriority ()
   uint32_t ulCurrentInterrupt;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt :  : "memory");
-  # DEBUG BEGIN_STMT
   if (ulCurrentInterrupt > 15)
     goto <bb 3>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  _1 = 3758154736B + ulCurrentInterrupt;
-  ucCurrentPriority = *_1;
-  # DEBUG BEGIN_STMT
-  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
-  if (ucCurrentPriority < ucMaxSysCallPriority.19_2)
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt;
+  ucCurrentPriority = *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority < ucMaxSysCallPriority.20_3)
     goto <bb 4>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = 3758157068B;
-  _4 = *_3;
-  _5 = _4 & 1792;
-  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
-  if (_5 > ulMaxPRIGROUPValue.20_6)
+  _4 = 3758157068B;
+  _5 = *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
     goto <bb 7>; [INV]
   else
     goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -68,7 +52,6 @@ __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -86,16 +69,12 @@ __attribute__((weak))
 vPortSetupTimerInterrupt ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = 3758153744B;
   *_1 = 0;
-  # DEBUG BEGIN_STMT
   _2 = 3758153752B;
   *_2 = 0;
-  # DEBUG BEGIN_STMT
   _3 = 3758153748B;
   *_3 = 47999;
-  # DEBUG BEGIN_STMT
   _4 = 3758153744B;
   *_4 = 7;
   return;
@@ -106,9 +85,7 @@ vPortSetupTimerInterrupt ()
 SysTick_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
     goto <bb 3>; [INV]
@@ -116,12 +93,10 @@ SysTick_Handler ()
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _2 = 3758157060B;
   *_2 = 268435456;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
   return;
 
@@ -132,7 +107,6 @@ __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -182,7 +156,6 @@ pxCurrentTCBConst: .word pxCurrentTCB
 vPortExitCritical ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
     goto <bb 3>; [INV]
@@ -190,22 +163,15 @@ vPortExitCritical ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.17_2 = uxCriticalNesting;
   _3 = uxCriticalNesting.17_2 + 4294967295;
   uxCriticalNesting = _3;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.18_4 = uxCriticalNesting;
   if (uxCriticalNesting.18_4 == 0)
     goto <bb 6>; [INV]
@@ -213,7 +179,6 @@ vPortExitCritical ()
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
 
   <bb 7> :
@@ -225,13 +190,10 @@ vPortExitCritical ()
 vPortEnterCritical ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.15_3 = uxCriticalNesting;
   if (uxCriticalNesting.15_3 == 1)
     goto <bb 3>; [INV]
@@ -239,7 +201,6 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _4 = 3758157060B;
   _5 = *_4;
   _6 = _5 & 255;
@@ -249,17 +210,12 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -268,7 +224,6 @@ vPortEnterCritical ()
 vPortEndScheduler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
     goto <bb 3>; [INV]
@@ -276,17 +231,12 @@ vPortEndScheduler ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -300,159 +250,115 @@ xPortStartScheduler ()
   BaseType_t D.5855;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+
+  <bb 3> :
   _1 = 3758157056B;
   _2 = *_1;
   if (_2 == 1091551857)
-    goto <bb 3>; [INV]
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [INV]
-
-  <bb 3> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 4>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   _3 = 3758157056B;
   _4 = *_3;
   if (_4 == 1091551856)
-    goto <bb 6>; [INV]
+    goto <bb 7>; [INV]
   else
-    goto <bb 8>; [INV]
-
-  <bb 6> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 7>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pucFirstUserPriorityRegister = 3758154752B;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = 3758154752B;
-  _6 = *_5;
-  _7 = (long unsigned int) _6;
-  ulOriginalPriority = _7;
-  # DEBUG BEGIN_STMT
-  _8 = 3758154752B;
-  *_8 = 255;
-  # DEBUG BEGIN_STMT
-  _9 = 3758154752B;
-  _10 = *_9;
-  ucMaxPriorityValue = _10;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.5_11 = ucMaxPriorityValue;
-  _12 = ucMaxPriorityValue.5_11 & 16;
-  ucMaxSysCallPriority = _12;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue = 7;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [INV]
+  goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
-  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
-  ulMaxPRIGROUPValue = _14;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.7_15 = ucMaxPriorityValue;
-  _16 = ucMaxPriorityValue.7_15 << 1;
-  ucMaxPriorityValue = _16;
+  pucFirstUserPriorityRegister = 3758154752B;
+  _5 = *pucFirstUserPriorityRegister;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority = _6;
+  *pucFirstUserPriorityRegister = 255;
+  _7 = *pucFirstUserPriorityRegister;
+  ucMaxPriorityValue = _7;
+  ucMaxPriorityValue.5_8 = ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
+  ulMaxPRIGROUPValue = 7;
+  goto <bb 11>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.8_17 = ucMaxPriorityValue;
-  _18 = (int) ucMaxPriorityValue.8_17;
-  _19 = _18 & 128;
-  if (_19 == 128)
-    goto <bb 9>; [INV]
-  else
-    goto <bb 11>; [INV]
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 = ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue = _13;
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
-  _21 = 7 - ulMaxPRIGROUPValue.9_20;
-  if (_21 != 4)
-    goto <bb 12>; [INV]
+  ucMaxPriorityValue.8_14 = ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 10>; [INV]
   else
-    goto <bb 14>; [INV]
+    goto <bb 12>; [INV]
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 13>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
-  _23 = ulMaxPRIGROUPValue.10_22 << 8;
-  ulMaxPRIGROUPValue = _23;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
-  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
-  ulMaxPRIGROUPValue = _25;
-  # DEBUG BEGIN_STMT
-  ulOriginalPriority.12_26 = ulOriginalPriority;
-  _27 = 3758154752B;
-  _28 = (unsigned char) ulOriginalPriority.12_26;
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 = ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister = _24;
+  _25 = 3758157088B;
+  _26 = *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
   *_27 = _28;
-  # DEBUG BEGIN_STMT
   _29 = 3758157088B;
   _30 = *_29;
   _31 = 3758157088B;
-  _32 = _30 | 15728640;
+  _32 = _30 | 4026531840;
   *_31 = _32;
-  # DEBUG BEGIN_STMT
-  _33 = 3758157088B;
-  _34 = *_33;
-  _35 = 3758157088B;
-  _36 = _34 | 4026531840;
-  *_35 = _36;
-  # DEBUG BEGIN_STMT
   vPortSetupTimerInterrupt ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting = 0;
-  # DEBUG BEGIN_STMT
   vPortEnableVFP ();
-  # DEBUG BEGIN_STMT
-  _37 = 3758157620B;
-  _38 = *_37;
-  _39 = 3758157620B;
-  _40 = _38 | 3221225472;
-  *_39 = _40;
-  # DEBUG BEGIN_STMT
+  _33 = 3758157620B;
+  _34 = *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 = _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
   D.5855 = 0;
+
+  <bb 16> :
+<L15>:
   return D.5855;
 
 }
@@ -462,7 +368,6 @@ __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -486,7 +391,6 @@ __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -510,9 +414,7 @@ prvTaskExitError ()
   volatile uint32_t ulDummy;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   ulDummy = 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
     goto <bb 3>; [INV]
@@ -520,24 +422,15 @@ prvTaskExitError ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   ulDummy.4_2 = ulDummy;
   if (ulDummy.4_2 == 0)
     goto <bb 6>; [INV]
@@ -555,34 +448,25 @@ pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void
   StackType_t * D.5843;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   *pxTopOfStack = 16777216;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   pxCode.0_1 = (long unsigned int) pxCode;
   _2 = pxCode.0_1 & 4294967294;
   *pxTopOfStack = _2;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
   *pxTopOfStack = prvTaskExitError.1_3;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967276;
-  # DEBUG BEGIN_STMT
   pvParameters.2_4 = (long unsigned int) pvParameters;
   *pxTopOfStack = pvParameters.2_4;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967292;
-  # DEBUG BEGIN_STMT
   *pxTopOfStack = 4294967293;
-  # DEBUG BEGIN_STMT
   pxTopOfStack = pxTopOfStack + 4294967264;
-  # DEBUG BEGIN_STMT
   D.5843 = pxTopOfStack;
+
+  <bb 3> :
+<L0>:
   return D.5843;
 
 }
@@ -592,7 +476,6 @@ __attribute__((always_inline))
 vPortSetBASEPRI (uint32_t ulNewMaskValue)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue : "memory");
   return;
 
@@ -605,8 +488,6 @@ vPortRaiseBASEPRI ()
   uint32_t ulNewBASEPRI;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														

+ 118 - 248
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.022i.opt_local_passes

@@ -2,71 +2,54 @@ vPortValidateInterruptPriority ()
 {
   uint8_t ucCurrentPriority;
   uint32_t ulCurrentInterrupt;
-  const uint8_t * _1;
-  unsigned char ucMaxSysCallPriority.19_2;
-  volatile uint32_t * _3;
-  long unsigned int _4;
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
   long unsigned int _5;
-  long unsigned int ulMaxPRIGROUPValue.20_6;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_9 :  : "memory");
-  # DEBUG ulCurrentInterrupt => ulCurrentInterrupt_9
-  # DEBUG BEGIN_STMT
-  if (ulCurrentInterrupt_9 > 15)
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
     goto <bb 3>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  _1 = 3758154736B + ulCurrentInterrupt_9;
-  ucCurrentPriority_10 ={v} *_1;
-  # DEBUG ucCurrentPriority => ucCurrentPriority_10
-  # DEBUG BEGIN_STMT
-  ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
-  if (ucCurrentPriority_10 < ucMaxSysCallPriority.19_2)
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
     goto <bb 4>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _3 = 3758157068B;
-  _4 ={v} *_3;
-  _5 = _4 & 1792;
-  ulMaxPRIGROUPValue.20_6 = ulMaxPRIGROUPValue;
-  if (_5 > ulMaxPRIGROUPValue.20_6)
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
     goto <bb 7>; [INV]
   else
     goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -76,7 +59,6 @@ __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -99,16 +81,12 @@ vPortSetupTimerInterrupt ()
   volatile uint32_t * _4;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   _1 = 3758153744B;
   *_1 ={v} 0;
-  # DEBUG BEGIN_STMT
   _2 = 3758153752B;
   *_2 ={v} 0;
-  # DEBUG BEGIN_STMT
   _3 = 3758153748B;
   *_3 ={v} 47999;
-  # DEBUG BEGIN_STMT
   _4 = 3758153744B;
   *_4 ={v} 7;
   return;
@@ -122,9 +100,7 @@ SysTick_Handler ()
   volatile uint32_t * _2;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
     goto <bb 3>; [INV]
@@ -132,12 +108,10 @@ SysTick_Handler ()
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _2 = 3758157060B;
   *_2 ={v} 268435456;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
   return;
 
@@ -148,7 +122,6 @@ __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -203,7 +176,6 @@ vPortExitCritical ()
   long unsigned int uxCriticalNesting.18_4;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
     goto <bb 3>; [INV]
@@ -211,22 +183,15 @@ vPortExitCritical ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.17_2 = uxCriticalNesting;
   _3 = uxCriticalNesting.17_2 + 4294967295;
   uxCriticalNesting = _3;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.18_4 = uxCriticalNesting;
   if (uxCriticalNesting.18_4 == 0)
     goto <bb 6>; [INV]
@@ -234,7 +199,6 @@ vPortExitCritical ()
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   vPortSetBASEPRI (0);
 
   <bb 7> :
@@ -253,13 +217,10 @@ vPortEnterCritical ()
   long unsigned int _6;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.15_3 = uxCriticalNesting;
   if (uxCriticalNesting.15_3 == 1)
     goto <bb 3>; [INV]
@@ -267,7 +228,6 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   _4 = 3758157060B;
   _5 ={v} *_4;
   _6 = _5 & 255;
@@ -277,17 +237,12 @@ vPortEnterCritical ()
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -298,7 +253,6 @@ vPortEndScheduler ()
   long unsigned int uxCriticalNesting.13_1;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
     goto <bb 3>; [INV]
@@ -306,17 +260,12 @@ vPortEndScheduler ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -327,34 +276,35 @@ xPortStartScheduler ()
   volatile uint8_t ucMaxPriorityValue;
   volatile uint8_t * const pucFirstUserPriorityRegister;
   volatile uint32_t ulOriginalPriority;
+  BaseType_t D.5855;
   volatile uint32_t * _1;
   long unsigned int _2;
   volatile uint32_t * _3;
   long unsigned int _4;
-  volatile uint8_t * _5;
-  unsigned char _6;
-  long unsigned int _7;
-  volatile uint8_t * _8;
-  volatile uint8_t * _9;
-  unsigned char _10;
-  unsigned char ucMaxPriorityValue.5_11;
-  unsigned char _12;
-  long unsigned int ulMaxPRIGROUPValue.6_13;
-  long unsigned int _14;
-  unsigned char ucMaxPriorityValue.7_15;
-  unsigned char _16;
-  unsigned char ucMaxPriorityValue.8_17;
-  int _18;
-  int _19;
-  long unsigned int ulMaxPRIGROUPValue.9_20;
-  long unsigned int _21;
-  long unsigned int ulMaxPRIGROUPValue.10_22;
-  long unsigned int _23;
-  long unsigned int ulMaxPRIGROUPValue.11_24;
-  long unsigned int _25;
-  long unsigned int ulOriginalPriority.12_26;
-  volatile uint8_t * _27;
-  unsigned char _28;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
+  long unsigned int _20;
+  long unsigned int ulMaxPRIGROUPValue.11_21;
+  long unsigned int _22;
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
   volatile uint32_t * _29;
   long unsigned int _30;
   volatile uint32_t * _31;
@@ -363,168 +313,119 @@ xPortStartScheduler ()
   long unsigned int _34;
   volatile uint32_t * _35;
   long unsigned int _36;
-  volatile uint32_t * _37;
-  long unsigned int _38;
-  volatile uint32_t * _39;
-  long unsigned int _40;
-  BaseType_t _61;
+  BaseType_t _57;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+
+  <bb 3> :
   _1 = 3758157056B;
   _2 ={v} *_1;
   if (_2 == 1091551857)
-    goto <bb 3>; [INV]
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [INV]
-
-  <bb 3> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 4>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   _3 = 3758157056B;
   _4 ={v} *_3;
   if (_4 == 1091551856)
-    goto <bb 6>; [INV]
+    goto <bb 7>; [INV]
   else
-    goto <bb 8>; [INV]
-
-  <bb 6> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+    goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 7>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pucFirstUserPriorityRegister_43 = 3758154752B;
-  # DEBUG pucFirstUserPriorityRegister => pucFirstUserPriorityRegister_43
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = 3758154752B;
-  _6 ={v} *_5;
-  _7 = (long unsigned int) _6;
-  ulOriginalPriority ={v} _7;
-  # DEBUG BEGIN_STMT
-  _8 = 3758154752B;
-  *_8 ={v} 255;
-  # DEBUG BEGIN_STMT
-  _9 = 3758154752B;
-  _10 ={v} *_9;
-  ucMaxPriorityValue ={v} _10;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.5_11 ={v} ucMaxPriorityValue;
-  _12 = ucMaxPriorityValue.5_11 & 16;
-  ucMaxSysCallPriority = _12;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue = 7;
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [INV]
+  goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.6_13 = ulMaxPRIGROUPValue;
-  _14 = ulMaxPRIGROUPValue.6_13 + 4294967295;
-  ulMaxPRIGROUPValue = _14;
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.7_15 ={v} ucMaxPriorityValue;
-  _16 = ucMaxPriorityValue.7_15 << 1;
-  ucMaxPriorityValue ={v} _16;
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
+  ulMaxPRIGROUPValue = 7;
+  goto <bb 11>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  ucMaxPriorityValue.8_17 ={v} ucMaxPriorityValue;
-  _18 = (int) ucMaxPriorityValue.8_17;
-  _19 = _18 & 128;
-  if (_19 == 128)
-    goto <bb 9>; [INV]
-  else
-    goto <bb 11>; [INV]
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.9_20 = ulMaxPRIGROUPValue;
-  _21 = 7 - ulMaxPRIGROUPValue.9_20;
-  if (_21 != 4)
-    goto <bb 12>; [INV]
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 10>; [INV]
   else
-    goto <bb 14>; [INV]
+    goto <bb 12>; [INV]
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 15>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 13>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.10_22 = ulMaxPRIGROUPValue;
-  _23 = ulMaxPRIGROUPValue.10_22 << 8;
-  ulMaxPRIGROUPValue = _23;
-  # DEBUG BEGIN_STMT
-  ulMaxPRIGROUPValue.11_24 = ulMaxPRIGROUPValue;
-  _25 = ulMaxPRIGROUPValue.11_24 & 1792;
-  ulMaxPRIGROUPValue = _25;
-  # DEBUG BEGIN_STMT
-  ulOriginalPriority.12_26 ={v} ulOriginalPriority;
-  _27 = 3758154752B;
-  _28 = (unsigned char) ulOriginalPriority.12_26;
+  goto <bb 14>; [INV]
+
+  <bb 15> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
   *_27 ={v} _28;
-  # DEBUG BEGIN_STMT
   _29 = 3758157088B;
   _30 ={v} *_29;
   _31 = 3758157088B;
-  _32 = _30 | 15728640;
+  _32 = _30 | 4026531840;
   *_31 ={v} _32;
-  # DEBUG BEGIN_STMT
-  _33 = 3758157088B;
-  _34 ={v} *_33;
-  _35 = 3758157088B;
-  _36 = _34 | 4026531840;
-  *_35 ={v} _36;
-  # DEBUG BEGIN_STMT
   vPortSetupTimerInterrupt ();
-  # DEBUG BEGIN_STMT
   uxCriticalNesting = 0;
-  # DEBUG BEGIN_STMT
   vPortEnableVFP ();
-  # DEBUG BEGIN_STMT
-  _37 = 3758157620B;
-  _38 ={v} *_37;
-  _39 = 3758157620B;
-  _40 = _38 | 3221225472;
-  *_39 ={v} _40;
-  # DEBUG BEGIN_STMT
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  _61 = 0;
-  return _61;
+  _57 = 0;
+
+  <bb 16> :
+<L15>:
+  return _57;
 
 }
 
@@ -533,7 +434,6 @@ __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -557,7 +457,6 @@ __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -583,9 +482,7 @@ prvTaskExitError ()
   long unsigned int ulDummy.4_2;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
     goto <bb 3>; [INV]
@@ -593,24 +490,15 @@ prvTaskExitError ()
     goto <bb 5>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 4>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
-  # DEBUG BEGIN_STMT
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
     goto <bb 6>; [INV]
@@ -625,6 +513,7 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
@@ -632,40 +521,25 @@ pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void
   StackType_t * _20;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
-  # DEBUG pxTopOfStack => pxTopOfStack_6
-  # DEBUG BEGIN_STMT
   *pxTopOfStack_6 = 16777216;
-  # DEBUG BEGIN_STMT
   pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
-  # DEBUG pxTopOfStack => pxTopOfStack_9
-  # DEBUG BEGIN_STMT
   pxCode.0_1 = (long unsigned int) pxCode_10(D);
   _2 = pxCode.0_1 & 4294967294;
   *pxTopOfStack_9 = _2;
-  # DEBUG BEGIN_STMT
   pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
-  # DEBUG pxTopOfStack => pxTopOfStack_12
-  # DEBUG BEGIN_STMT
   prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
   *pxTopOfStack_12 = prvTaskExitError.1_3;
-  # DEBUG BEGIN_STMT
   pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
-  # DEBUG pxTopOfStack => pxTopOfStack_14
-  # DEBUG BEGIN_STMT
   pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
   *pxTopOfStack_14 = pvParameters.2_4;
-  # DEBUG BEGIN_STMT
   pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
-  # DEBUG pxTopOfStack => pxTopOfStack_17
-  # DEBUG BEGIN_STMT
   *pxTopOfStack_17 = 4294967293;
-  # DEBUG BEGIN_STMT
   pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
-  # DEBUG pxTopOfStack => pxTopOfStack_19
-  # DEBUG BEGIN_STMT
   _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
   return _20;
 
 }
@@ -675,7 +549,6 @@ __attribute__((always_inline))
 vPortSetBASEPRI (uint32_t ulNewMaskValue)
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_2(D) : "memory");
   return;
 
@@ -688,14 +561,11 @@ vPortRaiseBASEPRI ()
   uint32_t ulNewBASEPRI;
 
   <bb 2> :
-  # 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
   return;
 
 }

File diff suppressed because it is too large
+ 351 - 472
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.048i.remove_symbols


+ 324 - 455
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.060i.targetclone

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <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 8> :
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,48 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
+
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 5>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -725,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

+ 324 - 455
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.064i.free-fnsummary1

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
+
+  <bb 7> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <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 8> :
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,48 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
+
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 5>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -725,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

File diff suppressed because it is too large
+ 352 - 474
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.068i.whole-program


+ 0 - 774
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.069i.profile_estimate

@@ -1,774 +0,0 @@
-Histogram:
-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;
-
-}
-
-

+ 0 - 832
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.070i.icf

@@ -1,832 +0,0 @@
-Parsed function:prvTaskExitError.part.0
-Parsed function:vPortValidateInterruptPriority
-Parsed function:vPortEnableVFP
-Parsed function:vPortSetupTimerInterrupt
-Parsed function:SysTick_Handler
-Parsed function:PendSV_Handler
-Parsed function:vPortExitCritical
-Parsed function:vPortEnterCritical
-Parsed function:vPortEndScheduler
-Parsed function:xPortStartScheduler
-Parsed function:prvPortStartFirstTask
-Parsed function:SVC_Handler
-Parsed function:prvTaskExitError
-Parsed function:pxPortInitialiseStack
-Dump after hash based groups
-Congruence classes: 12 (unique hash values: 12), with total: 14 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 11 classes
-[3]: 1 classes
-
-
-Dump after WPA based types groups
-Congruence classes: 12 (unique hash values: 12), with total: 14 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 11 classes
-[3]: 1 classes
-
-
-Worklist has been filled with: 4
-Address reference subdivision created: 0 new classes.
-Dump after callgraph-based congruence reduction
-Congruence classes: 12 (unique hash values: 12), with total: 14 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 11 classes
-[3]: 1 classes
-
-
-Init called for 3 items (21.43%).
-Dump after full equality comparison of groups
-Congruence classes: 14 (unique hash values: 12), with total: 14 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 14 classes
-
-
-Worklist has been filled with: 5
-Address reference subdivision created: 0 new classes.
-Congruence classes: 14 (unique hash values: 12), with total: 14 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 14 classes
-
-
-
-Item count: 14
-Congruent classes before: 14, after: 14
-Average class size before: 1.00, after: 1.00
-Average non-singular class size: 0.00, count: 0
-Equal symbols: 0
-Fraction of visited symbols: 0.00%
-
-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;
-
-}
-
-

+ 0 - 941
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.071i.devirt

@@ -1,941 +0,0 @@
-Symbol table:
-
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  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) @06b2c7e0
-  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) @06b21700
-  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) @06b219a0
-  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) @06b21620
-  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) @06b212a0
-  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) @06b21000
-  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) @06b15a80
-  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) @06b150e0
-  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) @06b15c40
-  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) @06b159a0
-  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) @06b15620
-  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) @06b15380
-  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) @06b15000
-  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) @06b10a80
-  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) @06b10c40
-  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) @06b0f3a8
-  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) @06b0f318
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
-  Availability: available
-  Varpool flags: initialized
-uxCriticalNesting/4 (uxCriticalNesting) @06b0f1b0
-  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;
-
-}
-
-

+ 0 - 1048
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.072i.cp

@@ -1,1048 +0,0 @@
-
-IPA constant propagation start:
-
-IPA structures before propagation:
-
-Jump functions:
-  Jump functions of caller  prvTaskExitError.part.0/25:
-  Jump functions of caller  xTaskIncrementTick/22:
-  Jump functions of caller  vTaskSwitchContext/21:
-  Jump functions of caller  vPortValidateInterruptPriority/20:
-  Jump functions of caller  vPortEnableVFP/19:
-  Jump functions of caller  vPortSetupTimerInterrupt/18:
-  Jump functions of caller  SysTick_Handler/17:
-  Jump functions of caller  PendSV_Handler/16:
-  Jump functions of caller  vPortExitCritical/15:
-  Jump functions of caller  vPortEnterCritical/14:
-  Jump functions of caller  vPortEndScheduler/13:
-  Jump functions of caller  xPortStartScheduler/12:
-    callsite  xPortStartScheduler/12 -> prvTaskExitError/9 : 
-    callsite  xPortStartScheduler/12 -> prvPortStartFirstTask/11 : 
-    callsite  xPortStartScheduler/12 -> vPortEnableVFP/19 : 
-    callsite  xPortStartScheduler/12 -> vPortSetupTimerInterrupt/18 : 
-  Jump functions of caller  prvPortStartFirstTask/11:
-  Jump functions of caller  SVC_Handler/10:
-  Jump functions of caller  prvTaskExitError/9:
-    callsite  prvTaskExitError/9 -> prvTaskExitError.part.0/25 : 
-  Jump functions of caller  pxPortInitialiseStack/8:
-
- Propagating constants:
-
-Not considering vPortValidateInterruptPriority for cloning; -fipa-cp-clone disabled.
-Function vPortEnableVFP/19 is not versionable, reason: not a tree_versionable_function.
-Function vPortSetupTimerInterrupt/18 is not versionable, reason: insufficient body availability.
-Not considering SysTick_Handler for cloning; -fipa-cp-clone disabled.
-Function PendSV_Handler/16 is not versionable, reason: not a tree_versionable_function.
-Not considering vPortExitCritical for cloning; -fipa-cp-clone disabled.
-Not considering vPortEnterCritical for cloning; -fipa-cp-clone disabled.
-Not considering vPortEndScheduler for cloning; -fipa-cp-clone disabled.
-Not considering xPortStartScheduler for cloning; -fipa-cp-clone disabled.
-Function prvPortStartFirstTask/11 is not versionable, reason: not a tree_versionable_function.
-Function SVC_Handler/10 is not versionable, reason: not a tree_versionable_function.
-Not considering prvTaskExitError for cloning; -fipa-cp-clone disabled.
-Not considering pxPortInitialiseStack for cloning; -fipa-cp-clone disabled.
-
-overall_size: 282, max_new_size: 11001
-
-IPA lattices after all propagation:
-
-Lattices:
-  Node: prvTaskExitError.part.0/25:
-  Node: vPortValidateInterruptPriority/20:
-  Node: vPortEnableVFP/19:
-  Node: vPortSetupTimerInterrupt/18:
-  Node: SysTick_Handler/17:
-  Node: PendSV_Handler/16:
-  Node: vPortExitCritical/15:
-  Node: vPortEnterCritical/14:
-  Node: vPortEndScheduler/13:
-  Node: xPortStartScheduler/12:
-  Node: prvPortStartFirstTask/11:
-  Node: SVC_Handler/10:
-  Node: prvTaskExitError/9:
-  Node: pxPortInitialiseStack/8:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [1]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-    param [2]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-
-IPA decision stage:
-
-
-IPA constant propagation end
-
-Reclaiming functions:
-Reclaiming variables:
-Clearing address taken flags:
-Symbol table:
-
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  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) @06b2c7e0
-  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) @06b21700
-  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) @06b219a0
-  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) @06b21620
-  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) @06b212a0
-  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) @06b21000
-  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) @06b15a80
-  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) @06b150e0
-  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) @06b15c40
-  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) @06b159a0
-  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) @06b15620
-  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) @06b15380
-  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) @06b15000
-  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) @06b10a80
-  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) @06b10c40
-  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) @06b0f3a8
-  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) @06b0f318
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: xPortStartScheduler/12 (write)vPortValidateInterruptPriority/20 (read)
-  Availability: available
-  Varpool flags: initialized
-uxCriticalNesting/4 (uxCriticalNesting) @06b0f1b0
-  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
-
-;; Function prvPortStartFirstTask (prvPortStartFirstTask, funcdef_no=7, decl_uid=5767, cgraph_uid=8, symbol_order=11)
-
-Modification phase of node prvPortStartFirstTask/11
-__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;
-
-}
-
-
-
-;; Function vPortEnableVFP (vPortEnableVFP, funcdef_no=15, decl_uid=5769, cgraph_uid=16, symbol_order=19)
-
-Modification phase of node vPortEnableVFP/19
-__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;
-
-}
-
-
-
-;; Function prvTaskExitError (prvTaskExitError, funcdef_no=5, decl_uid=5771, cgraph_uid=6, symbol_order=9)
-
-Modification phase of node prvTaskExitError/9
-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;
-
-}
-
-
-
-;; Function pxPortInitialiseStack (pxPortInitialiseStack, funcdef_no=4, decl_uid=5420, cgraph_uid=5, symbol_order=8)
-
-Modification phase of node pxPortInitialiseStack/8
-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;
-
-}
-
-
-
-;; Function SVC_Handler (SVC_Handler, funcdef_no=6, decl_uid=5765, cgraph_uid=7, symbol_order=10)
-
-Modification phase of node SVC_Handler/10
-__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;
-
-}
-
-
-
-;; Function vPortEndScheduler (vPortEndScheduler, funcdef_no=9, decl_uid=5451, cgraph_uid=10, symbol_order=13)
-
-Modification phase of node vPortEndScheduler/13
-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;
-
-}
-
-
-
-;; Function vPortEnterCritical (vPortEnterCritical, funcdef_no=10, decl_uid=5393, cgraph_uid=11, symbol_order=14)
-
-Modification phase of node vPortEnterCritical/14
-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;
-
-}
-
-
-
-;; Function vPortExitCritical (vPortExitCritical, funcdef_no=11, decl_uid=5395, cgraph_uid=12, symbol_order=15)
-
-Modification phase of node vPortExitCritical/15
-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;
-
-}
-
-
-
-;; Function PendSV_Handler (PendSV_Handler, funcdef_no=12, decl_uid=5761, cgraph_uid=13, symbol_order=16)
-
-Modification phase of node PendSV_Handler/16
-__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;
-
-}
-
-
-
-;; Function SysTick_Handler (SysTick_Handler, funcdef_no=13, decl_uid=5763, cgraph_uid=14, symbol_order=17)
-
-Modification phase of node SysTick_Handler/17
-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;
-
-}
-
-
-
-;; Function vPortSetupTimerInterrupt (vPortSetupTimerInterrupt, funcdef_no=14, decl_uid=5759, cgraph_uid=15, symbol_order=18)
-
-Modification phase of node vPortSetupTimerInterrupt/18
-__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;
-
-}
-
-
-
-;; Function xPortStartScheduler (xPortStartScheduler, funcdef_no=8, decl_uid=5449, cgraph_uid=9, symbol_order=12)
-
-Modification phase of node xPortStartScheduler/12
-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;
-
-}
-
-
-
-;; Function vPortValidateInterruptPriority (vPortValidateInterruptPriority, funcdef_no=16, decl_uid=5399, cgraph_uid=17, symbol_order=20)
-
-Modification phase of node vPortValidateInterruptPriority/20
-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;
-
-}
-
-

File diff suppressed because it is too large
+ 176 - 687
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.075i.fnsummary


File diff suppressed because it is too large
+ 360 - 592
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.076i.inline


+ 0 - 1836
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.077i.pure-const

@@ -1,1836 +0,0 @@
-
-
- local analysis of prvTaskExitError.part.0
-   scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-Function is locally looping.
-Function is locally pure.
-Function can locally free.
-
-
- local analysis of vPortValidateInterruptPriority
-   scanning: __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_8 :  : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: if (ulCurrentInterrupt_8 > 15)
-  scanning: _1 = 3758154736B + ulCurrentInterrupt_8;
-  scanning: ucCurrentPriority_9 ={v} *_1;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: ucMaxSysCallPriority.19_2 = ucMaxSysCallPriority;
-  scanning: if (ucMaxSysCallPriority.19_2 > ucCurrentPriority_9)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _3 ={v} MEM[(volatile uint32_t *)3758157068B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _4 = _3 & 1792;
-  scanning: ulMaxPRIGROUPValue.20_5 = ulMaxPRIGROUPValue;
-  scanning: if (_4 > ulMaxPRIGROUPValue.20_5)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of vPortEnableVFP
-   scanning: __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
-	ldr r1, [r0]				
-								
-	orr r1, r1, #( 0xf << 20 )	
-	str r1, [r0]				
-	bx r14						
-	.ltorg						
-");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of vPortSetupTimerInterrupt
-   scanning: MEM[(volatile uint32_t *)3758153744B] ={v} 0;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: MEM[(volatile uint32_t *)3758153752B] ={v} 0;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: MEM[(volatile uint32_t *)3758153748B] ={v} 47999;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: MEM[(volatile uint32_t *)3758153744B] ={v} 7;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: return;
-
-
- local analysis of SysTick_Handler
-   scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _1 = xTaskIncrementTick ();
-  scanning: if (_1 != 0)
-  scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of PendSV_Handler
-   scanning: __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);
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of vPortExitCritical
-   scanning: uxCriticalNesting.16_1 = uxCriticalNesting;
-  scanning: if (uxCriticalNesting.16_1 == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _2 = uxCriticalNesting.16_1 + 4294967295;
-  scanning: uxCriticalNesting = _2;
-  scanning: if (_2 == 0)
-  scanning: __asm__ __volatile__("	msr basepri, %0	" :  : "r" 0 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of vPortEnterCritical
-   scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: uxCriticalNesting.14_1 = uxCriticalNesting;
-  scanning: _2 = uxCriticalNesting.14_1 + 1;
-  scanning: uxCriticalNesting = _2;
-  scanning: if (_2 == 1)
-  scanning: _3 ={v} MEM[(volatile uint32_t *)3758157060B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _4 = _3 & 255;
-  scanning: if (_4 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of vPortEndScheduler
-   scanning: uxCriticalNesting.13_1 = uxCriticalNesting;
-  scanning: if (uxCriticalNesting.13_1 != 1000)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_3 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of xPortStartScheduler
-   scanning: _1 ={v} MEM[(volatile uint32_t *)3758157056B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: if (_1 == 1091551857)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_46 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _3 ={v} MEM[(volatile uint32_t *)3758157056B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: if (_3 == 1091551856)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_47 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _4 ={v} MEM[(volatile uint8_t *)3758154752B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _5 = (long unsigned int) _4;
-  scanning: ulOriginalPriority ={v} _5;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: MEM[(volatile uint8_t *)3758154752B] ={v} 255;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _6 ={v} MEM[(volatile uint8_t *)3758154752B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: ucMaxPriorityValue ={v} _6;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: ucMaxPriorityValue.5_7 ={v} ucMaxPriorityValue;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: _8 = ucMaxPriorityValue.5_7 & 16;
-  scanning: ucMaxSysCallPriority = _8;
-  scanning: ulMaxPRIGROUPValue = 7;
-  scanning: ulMaxPRIGROUPValue.6_9 = ulMaxPRIGROUPValue;
-  scanning: _10 = ulMaxPRIGROUPValue.6_9 + 4294967295;
-  scanning: ulMaxPRIGROUPValue = _10;
-  scanning: ucMaxPriorityValue.7_11 ={v} ucMaxPriorityValue;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: _12 = ucMaxPriorityValue.7_11 << 1;
-  scanning: ucMaxPriorityValue ={v} _12;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: ucMaxPriorityValue.8_13 ={v} ucMaxPriorityValue;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: _2 = (signed char) ucMaxPriorityValue.8_13;
-  scanning: if (_2 < 0)
-  scanning: ulMaxPRIGROUPValue.9_14 = ulMaxPRIGROUPValue;
-  scanning: _15 = 7 - ulMaxPRIGROUPValue.9_14;
-  scanning: if (_15 != 4)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _16 = ulMaxPRIGROUPValue.9_14 << 8;
-  scanning: _17 = _16 & 1792;
-  scanning: ulMaxPRIGROUPValue = _17;
-  scanning: ulOriginalPriority.12_18 ={v} ulOriginalPriority;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: _19 = (unsigned char) ulOriginalPriority.12_18;
-  scanning: MEM[(volatile uint8_t *)3758154752B] ={v} _19;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _20 ={v} MEM[(volatile uint32_t *)3758157088B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _21 = _20 | 15728640;
-  scanning: MEM[(volatile uint32_t *)3758157088B] ={v} _21;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _22 ={v} MEM[(volatile uint32_t *)3758157088B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _23 = _22 | 4026531840;
-  scanning: MEM[(volatile uint32_t *)3758157088B] ={v} _23;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: vPortSetupTimerInterrupt ();
-  scanning: uxCriticalNesting = 0;
-  scanning: vPortEnableVFP ();
-  scanning: _24 ={v} MEM[(volatile uint32_t *)3758157620B];
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: _25 = _24 | 3221225472;
-  scanning: MEM[(volatile uint32_t *)3758157620B] ={v} _25;
-    Volatile stmt is not const/pure
-    Volatile indirect ref is not const/pure
-  scanning: prvPortStartFirstTask ();
-  scanning: vTaskSwitchContext ();
-  scanning: prvTaskExitError ();
-  scanning: return 0;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of prvPortStartFirstTask
-   scanning: __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				
-");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of SVC_Handler
-   scanning: __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				
-");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of prvTaskExitError
-   scanning: ulDummy ={v} 0;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: uxCriticalNesting.3_1 = uxCriticalNesting;
-  scanning: if (uxCriticalNesting.3_1 != 4294967295)
-  scanning: prvTaskExitError.part.0 ();
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: ulDummy.4_2 ={v} ulDummy;
-    Volatile stmt is not const/pure
-    Volatile operand is not const/pure
-  scanning: if (ulDummy.4_2 == 0)
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of pxPortInitialiseStack
-   scanning: MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967292B] = 16777216;
-    Indirect ref write is not const/pure
-  scanning: pxCode.0_1 = (long unsigned int) pxCode_8(D);
-  scanning: _2 = pxCode.0_1 & 4294967294;
-  scanning: MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967288B] = _2;
-    Indirect ref write is not const/pure
-  scanning: prvTaskExitError.1_3 = (long unsigned int) prvTaskExitError;
-  scanning: MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967284B] = prvTaskExitError.1_3;
-    Indirect ref write is not const/pure
-  scanning: pvParameters.2_4 = (long unsigned int) pvParameters_11(D);
-  scanning: MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967264B] = pvParameters.2_4;
-    Indirect ref write is not const/pure
-  scanning: MEM[(StackType_t *)pxTopOfStack_5(D) + 4294967260B] = 4294967293;
-    Indirect ref write is not const/pure
-  scanning: pxTopOfStack_14 = &MEM[(void *)pxTopOfStack_5(D) + 4294967228B];
-  scanning: return pxTopOfStack_14;
-callgraph:
-
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @063355c0
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-xTaskIncrementTick/22 (xTaskIncrementTick) @06b2c7e0
-  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) @06b21700
-  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) @06b219a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063353c0
-  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) @06b21620
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063356c0
-  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) @06b212a0
-  Type: function definition analyzed
-  Visibility: externally_visible public weak
-  Aux: @063356e0
-  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) @06b21000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335360
-  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) @06b15a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335420
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335480
-  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) @06b15c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335240
-  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) @06b159a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335300
-  References: uxCriticalNesting/4 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:162688 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fc0
-  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) @06b15380
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06334f80
-  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) @06b15000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fe0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Address is taken.
-  Aux: @06335000
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335060
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
- ordered call graph: reduced for nothrow
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @063355c0
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06b219a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063353c0
-  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) @06b21620
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063356c0
-  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) @06b212a0
-  Type: function definition analyzed
-  Visibility: externally_visible public weak
-  Aux: @063356e0
-  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) @06b21000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335360
-  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) @06b15a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335420
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335480
-  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) @06b15c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335240
-  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) @06b159a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335300
-  References: uxCriticalNesting/4 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:162688 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fc0
-  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) @06b15380
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06334f80
-  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) @06b15000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fe0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Address is taken.
-  Aux: @06335000
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335060
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
-
-MALLOC LATTICE Initial:
-prvTaskExitError.part.0: malloc_bottom
-vPortValidateInterruptPriority: malloc_bottom
-vPortEnableVFP: malloc_bottom
-vPortSetupTimerInterrupt: malloc_bottom
-SysTick_Handler: malloc_bottom
-PendSV_Handler: malloc_bottom
-vPortExitCritical: malloc_bottom
-vPortEnterCritical: malloc_bottom
-vPortEndScheduler: malloc_bottom
-xPortStartScheduler: malloc_bottom
-prvPortStartFirstTask: malloc_bottom
-SVC_Handler: malloc_bottom
-prvTaskExitError: malloc_bottom
-pxPortInitialiseStack: malloc_bottom
-
-
-MALLOC LATTICE after propagation:
-prvTaskExitError.part.0: malloc_bottom
-vPortValidateInterruptPriority: malloc_bottom
-vPortEnableVFP: malloc_bottom
-vPortSetupTimerInterrupt: malloc_bottom
-SysTick_Handler: malloc_bottom
-PendSV_Handler: malloc_bottom
-vPortExitCritical: malloc_bottom
-vPortEnterCritical: malloc_bottom
-vPortEndScheduler: malloc_bottom
-xPortStartScheduler: malloc_bottom
-prvPortStartFirstTask: malloc_bottom
-SVC_Handler: malloc_bottom
-prvTaskExitError: malloc_bottom
-pxPortInitialiseStack: malloc_bottom
-callgraph:
-
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06334fe0
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-xTaskIncrementTick/22 (xTaskIncrementTick) @06b2c7e0
-  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) @06b21700
-  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) @06b219a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335300
-  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) @06b21620
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06334f80
-  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) @06b212a0
-  Type: function definition analyzed
-  Visibility: externally_visible public weak
-  Aux: @06334fc0
-  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) @06b21000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335240
-  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) @06b15a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335000
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335060
-  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) @06b15c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335480
-  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) @06b159a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063355c0
-  References: uxCriticalNesting/4 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:162688 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335420
-  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) @06b15380
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063356c0
-  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) @06b15000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063356e0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Address is taken.
-  Aux: @06335360
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063353c0
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-
- ordered call graph: reduced
-vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06b219a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335300
-  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:286331 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06b212a0
-  Type: function definition analyzed
-  Visibility: externally_visible public weak
-  Aux: @06334fc0
-  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) @06b21000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335240
-  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) @06b15a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335000
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335060
-  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) @06b15c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335480
-  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) @06b159a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063355c0
-  References: uxCriticalNesting/4 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:162688 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335420
-  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) 
-vPortEnableVFP/19 (vPortEnableVFP) @06b21620
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06334f80
-  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: 
-prvPortStartFirstTask/11 (prvPortStartFirstTask) @06b15380
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063356c0
-  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) @06b15000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063356e0
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Address is taken.
-  Aux: @06335360
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06334fe0
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063353c0
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-
-Function found not to call free: pxPortInitialiseStack
-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;
-
-}
-
-

+ 324 - 458
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.078i.free-fnsummary2

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
 
-  <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> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 8> :
+
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,51 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+
+  <bb 4> :
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 7>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 447539]:
-  goto <bb 5>; [100.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -728,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

+ 0 - 1200
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.079i.static-var

@@ -1,1200 +0,0 @@
-callgraph:
-
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-xTaskIncrementTick/22 (xTaskIncrementTick) @06b2c7e0
-  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) @06b21700
-  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) @06b219a0
-  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) @06b21620
-  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) @06b212a0
-  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) @06b21000
-  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) @06b15a80
-  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) @06b150e0
-  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) @06b15c40
-  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) @06b159a0
-  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) @06b15620
-  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) @06b15380
-  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) @06b15000
-  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) @06b10a80
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-Clearing variable flags:
-
-Promotable global:uxCriticalNesting (uid=5772)
-
-Promotable global:ucMaxSysCallPriority (uid=5773)
-
-Promotable global:ulMaxPRIGROUPValue (uid=5774)
-
-Function name:prvTaskExitError.part.0/25:
-  locals read: 
-  locals written: 
-Function name:vPortValidateInterruptPriority/20:
-  locals read: ucMaxSysCallPriority ulMaxPRIGROUPValue 
-  locals written: 
-Function name:vPortEnableVFP/19:
-  locals read: 
-  locals written: 
-Function name:vPortSetupTimerInterrupt/18:
-  locals read: 
-  locals written: 
-Function name:SysTick_Handler/17:
-  locals read: 
-  locals written: 
-Function name:PendSV_Handler/16:
-  locals read: 
-  locals written: 
-Function name:vPortExitCritical/15:
-  locals read: uxCriticalNesting 
-  locals written: uxCriticalNesting 
-Function name:vPortEnterCritical/14:
-  locals read: uxCriticalNesting 
-  locals written: uxCriticalNesting 
-Function name:vPortEndScheduler/13:
-  locals read: uxCriticalNesting 
-  locals written: 
-Function name:xPortStartScheduler/12:
-  locals read: ulMaxPRIGROUPValue 
-  locals written: uxCriticalNesting ucMaxSysCallPriority ulMaxPRIGROUPValue 
-Function name:prvPortStartFirstTask/11:
-  locals read: 
-  locals written: 
-Function name:SVC_Handler/10:
-  locals read: 
-  locals written: 
-Function name:prvTaskExitError/9:
-  locals read: uxCriticalNesting 
-  locals written: 
-Function name:pxPortInitialiseStack/8:
-  locals read: 
-  locals written: 
-
- ordered call graph: reduced
-vPortValidateInterruptPriority/20 (vPortValidateInterruptPriority) @06b219a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335280
-  References: ucMaxSysCallPriority/5 (read)ulMaxPRIGROUPValue/6 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:286331 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-SysTick_Handler/17 (SysTick_Handler) @06b21000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335200
-  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) @06b15a80
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335240
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortExitCritical/15 (vPortExitCritical) @06b150e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fc0
-  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) @06b15c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06334fe0
-  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) @06b159a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335000
-  References: uxCriticalNesting/4 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:162688 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortStartScheduler/12 (xPortStartScheduler) @06b15620
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335300
-  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) 
-vPortSetupTimerInterrupt/18 (vPortSetupTimerInterrupt) @06b212a0
-  Type: function definition analyzed
-  Visibility: externally_visible public weak
-  Aux: @06334f80
-  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: 
-vPortEnableVFP/19 (vPortEnableVFP) @06b21620
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063351e0
-  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: 
-prvPortStartFirstTask/11 (prvPortStartFirstTask) @06b15380
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @063350a0
-  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) @06b15000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06335060
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-prvTaskExitError/9 (prvTaskExitError) @06b10a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Address is taken.
-  Aux: @06335080
-  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 (inlined) (107374 (estimated locally),0.66 per call) 
-prvTaskExitError.part.0/25 (prvTaskExitError.part.0) @06aaf2a0
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly artificial
-  Aux: @06335180
-  References: 
-  Referring: 
-  Function prvTaskExitError.part.0/25 is inline copy in prvTaskExitError/9
-  Availability: local
-  Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
-  Called by: prvTaskExitError/9 (inlined) (107374 (estimated locally),0.66 per call) 
-  Calls: 
-pxPortInitialiseStack/8 (pxPortInitialiseStack) @06b10c40
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @063350c0
-  References: prvTaskExitError/9 (addr)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
-  Called by: 
-  Calls: 
-
-
-Function name:pxPortInitialiseStack/8:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:prvTaskExitError.part.0/25:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:prvTaskExitError/9:
-    locals read: uxCriticalNesting 
-    locals written: 
-  globals read: uxCriticalNesting 
-  globals written: 
-
-Function name:SVC_Handler/10:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:prvPortStartFirstTask/11:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vPortEnableVFP/19:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:vPortSetupTimerInterrupt/18:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:xPortStartScheduler/12:
-    locals read: ulMaxPRIGROUPValue 
-    locals written: uxCriticalNesting ucMaxSysCallPriority ulMaxPRIGROUPValue 
-  globals read: ALL
-  globals written: ALL
-
-Function name:vPortEndScheduler/13:
-    locals read: uxCriticalNesting 
-    locals written: 
-  globals read: uxCriticalNesting 
-  globals written: 
-
-Function name:vPortEnterCritical/14:
-    locals read: uxCriticalNesting 
-    locals written: uxCriticalNesting 
-  globals read: uxCriticalNesting 
-  globals written: uxCriticalNesting 
-
-Function name:vPortExitCritical/15:
-    locals read: uxCriticalNesting 
-    locals written: uxCriticalNesting 
-  globals read: uxCriticalNesting 
-  globals written: uxCriticalNesting 
-
-Function name:PendSV_Handler/16:
-    locals read: 
-    locals written: 
-  globals read: 
-  globals written: 
-
-Function name:SysTick_Handler/17:
-    locals read: 
-    locals written: 
-  globals read: ALL
-  globals written: ALL
-
-Function name:vPortValidateInterruptPriority/20:
-    locals read: ucMaxSysCallPriority ulMaxPRIGROUPValue 
-    locals written: 
-  globals read: ucMaxSysCallPriority ulMaxPRIGROUPValue 
-  globals written: 
-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;
-
-}
-
-

+ 324 - 458
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.080i.single-use

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
 
-  <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> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 8> :
+
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,51 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+
+  <bb 4> :
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 7>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 447539]:
-  goto <bb 5>; [100.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -728,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

+ 324 - 458
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.081i.comdats

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
 
-  <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> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 8> :
+
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,51 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+
+  <bb 4> :
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 7>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 447539]:
-  goto <bb 5>; [100.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -728,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

+ 324 - 458
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c.082i.materialize-all-clones

@@ -1,126 +1,69 @@
-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%]
+  const uint8_t * pcInterruptPriorityRegisters.19_1;
+  const uint8_t * _2;
+  unsigned char ucMaxSysCallPriority.20_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
+  long unsigned int ulMaxPRIGROUPValue.21_7;
+
+  <bb 2> :
+  __asm__ __volatile__("mrs %0, ipsr" : "=r" ulCurrentInterrupt_10 :  : "memory");
+  if (ulCurrentInterrupt_10 > 15)
+    goto <bb 3>; [INV]
   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%]
+    goto <bb 7>; [INV]
+
+  <bb 3> :
+  pcInterruptPriorityRegisters.19_1 = 3758154736B;
+  _2 = pcInterruptPriorityRegisters.19_1 + ulCurrentInterrupt_10;
+  ucCurrentPriority_11 ={v} *_2;
+  ucMaxSysCallPriority.20_3 = ucMaxSysCallPriority;
+  if (ucCurrentPriority_11 < ucMaxSysCallPriority.20_3)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 71583]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _4 = 3758157068B;
+  _5 ={v} *_4;
+  _6 = _5 & 1792;
+  ulMaxPRIGROUPValue.21_7 = ulMaxPRIGROUPValue;
+  if (_6 > ulMaxPRIGROUPValue.21_7)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [50.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_11 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_11
+" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
 
-  <bb 8> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 9> :
 
-  <bb 11> [local count: 1073741823]:
-  goto <bb 8>; [100.00%]
+  <bb 10> :
+  goto <bb 10>; [INV]
 
-  <bb 9> [local count: 107374]:
-  # DEBUG BEGIN_STMT
+  <bb 11> :
   return;
 
 }
@@ -129,8 +72,7 @@ vPortValidateInterruptPriority ()
 __attribute__((naked, noinline, noclone))
 vPortEnableVFP ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr.w r0, =0xE000ED88		
 	ldr r1, [r0]				
 								
@@ -147,15 +89,20 @@ vPortEnableVFP ()
 __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;
+  volatile uint32_t * _1;
+  volatile uint32_t * _2;
+  volatile uint32_t * _3;
+  volatile uint32_t * _4;
+
+  <bb 2> :
+  _1 = 3758153744B;
+  *_1 ={v} 0;
+  _2 = 3758153752B;
+  *_2 ={v} 0;
+  _3 = 3758153748B;
+  *_3 ={v} 47999;
+  _4 = 3758153744B;
+  *_4 ={v} 7;
   return;
 
 }
@@ -163,38 +110,34 @@ vPortSetupTimerInterrupt ()
 
 SysTick_Handler ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long int _1;
+  volatile uint32_t * _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
+
+  <bb 3> :
   _1 = xTaskIncrementTick ();
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 4>; [INV]
   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
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  _2 = 3758157060B;
+  *_2 ={v} 268435456;
+
+  <bb 5> :
+  ulNewMaskValue_8 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_8 : "memory");
+
+  <bb 6> :
   return;
 
 }
@@ -203,8 +146,7 @@ SysTick_Handler ()
 __attribute__((naked, noinline, noclone))
 PendSV_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mrs r0, psp							
 	isb									
 										
@@ -253,59 +195,49 @@ pxCurrentTCBConst: .word pxCurrentTCB
 
 vPortExitCritical ()
 {
+  uint32_t ulNewMaskValue;
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.16_1;
-  long unsigned int _2;
+  long unsigned int uxCriticalNesting.17_2;
+  long unsigned int _3;
+  long unsigned int uxCriticalNesting.18_4;
 
-  <bb 2> [local count: 214748]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.16_1 = uxCriticalNesting;
   if (uxCriticalNesting.16_1 == 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [50.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
+" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
 
-  <bb 4> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
 
-  <bb 8> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <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%]
+  <bb 6> :
+  uxCriticalNesting.17_2 = uxCriticalNesting;
+  _3 = uxCriticalNesting.17_2 + 4294967295;
+  uxCriticalNesting = _3;
+  uxCriticalNesting.18_4 = uxCriticalNesting;
+  if (uxCriticalNesting.18_4 == 0)
+    goto <bb 7>; [INV]
   else
-    goto <bb 7>; [50.00%]
+    goto <bb 9>; [INV]
 
-  <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> :
+  ulNewMaskValue_9 = 0;
+  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulNewMaskValue_9 : "memory");
 
-  <bb 7> [local count: 107374]:
-  # DEBUG ulNewMaskValue => NULL
+  <bb 8> :
+
+  <bb 9> :
   return;
 
 }
@@ -317,62 +249,50 @@ vPortEnterCritical ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.14_1;
   long unsigned int _2;
-  long unsigned int _3;
-  long unsigned int _4;
+  long unsigned int uxCriticalNesting.15_3;
+  volatile uint32_t * _4;
+  long unsigned int _5;
+  long unsigned int _6;
 
-  <bb 2> [local count: 631612]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
+
+  <bb 3> :
   uxCriticalNesting.14_1 = uxCriticalNesting;
   _2 = uxCriticalNesting.14_1 + 1;
   uxCriticalNesting = _2;
-  # DEBUG BEGIN_STMT
-  if (_2 == 1)
-    goto <bb 3>; [34.00%]
+  uxCriticalNesting.15_3 = uxCriticalNesting;
+  if (uxCriticalNesting.15_3 == 1)
+    goto <bb 4>; [INV]
   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%]
+    goto <bb 8>; [INV]
+
+  <bb 4> :
+  _4 = 3758157060B;
+  _5 ={v} *_4;
+  _6 = _5 & 255;
+  if (_6 != 0)
+    goto <bb 5>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 8>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
+" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
 
-  <bb 5> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 6> :
 
-  <bb 7> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
+  <bb 7> :
+  goto <bb 7>; [INV]
 
-  <bb 6> [local count: 524238]:
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   return;
 
 }
@@ -383,37 +303,26 @@ vPortEndScheduler ()
   uint32_t ulNewBASEPRI;
   long unsigned int uxCriticalNesting.13_1;
 
-  <bb 2> [local count: 162688]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   uxCriticalNesting.13_1 = uxCriticalNesting;
   if (uxCriticalNesting.13_1 != 1000)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 5>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   __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 4> :
 
-  <bb 6> [local count: 1073741824]:
-  goto <bb 4>; [100.00%]
+  <bb 5> :
+  goto <bb 5>; [INV]
 
-  <bb 5> [local count: 55314]:
-  # DEBUG BEGIN_STMT
+  <bb 6> :
   return;
 
 }
@@ -425,204 +334,176 @@ xPortStartScheduler ()
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   volatile uint8_t ucMaxPriorityValue;
+  volatile uint8_t * const pucFirstUserPriorityRegister;
   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;
+  BaseType_t D.5855;
+  volatile uint32_t * _1;
+  long unsigned int _2;
+  volatile uint32_t * _3;
+  long unsigned int _4;
+  unsigned char _5;
+  long unsigned int _6;
+  unsigned char _7;
+  unsigned char ucMaxPriorityValue.5_8;
+  unsigned char _9;
+  long unsigned int ulMaxPRIGROUPValue.6_10;
+  long unsigned int _11;
+  unsigned char ucMaxPriorityValue.7_12;
+  unsigned char _13;
+  unsigned char ucMaxPriorityValue.8_14;
+  int _15;
+  int _16;
+  long unsigned int ulMaxPRIGROUPValue.9_17;
+  long unsigned int _18;
+  long unsigned int ulMaxPRIGROUPValue.10_19;
   long unsigned int _20;
-  long unsigned int _21;
+  long unsigned int ulMaxPRIGROUPValue.11_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%]
+  long unsigned int ulOriginalPriority.12_23;
+  unsigned char _24;
+  volatile uint32_t * _25;
+  long unsigned int _26;
+  volatile uint32_t * _27;
+  long unsigned int _28;
+  volatile uint32_t * _29;
+  long unsigned int _30;
+  volatile uint32_t * _31;
+  long unsigned int _32;
+  volatile uint32_t * _33;
+  long unsigned int _34;
+  volatile uint32_t * _35;
+  long unsigned int _36;
+  BaseType_t _57;
+
+  <bb 2> :
+
+  <bb 3> :
+  _1 = 3758157056B;
+  _2 ={v} *_1;
+  if (_2 == 1091551857)
+    goto <bb 4>; [INV]
   else
-    goto <bb 5>; [66.00%]
+    goto <bb 7>; [INV]
 
-  <bb 3> [local count: 105076]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __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%]
+" : "=r" ulNewBASEPRI_60 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _3 = 3758157056B;
+  _4 ={v} *_3;
+  if (_4 == 1091551856)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [66.00%]
+    goto <bb 11>; [INV]
 
-  <bb 6> [local count: 69350]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __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
+" : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  pucFirstUserPriorityRegister_39 = 3758154752B;
+  _5 ={v} *pucFirstUserPriorityRegister_39;
+  _6 = (long unsigned int) _5;
+  ulOriginalPriority ={v} _6;
+  *pucFirstUserPriorityRegister_39 ={v} 255;
+  _7 ={v} *pucFirstUserPriorityRegister_39;
+  ucMaxPriorityValue ={v} _7;
+  ucMaxPriorityValue.5_8 ={v} ucMaxPriorityValue;
+  _9 = ucMaxPriorityValue.5_8 & 16;
+  ucMaxSysCallPriority = _9;
   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%]
+  goto <bb 13>; [INV]
+
+  <bb 12> :
+  ulMaxPRIGROUPValue.6_10 = ulMaxPRIGROUPValue;
+  _11 = ulMaxPRIGROUPValue.6_10 + 4294967295;
+  ulMaxPRIGROUPValue = _11;
+  ucMaxPriorityValue.7_12 ={v} ucMaxPriorityValue;
+  _13 = ucMaxPriorityValue.7_12 << 1;
+  ucMaxPriorityValue ={v} _13;
+
+  <bb 13> :
+  ucMaxPriorityValue.8_14 ={v} ucMaxPriorityValue;
+  _15 = (int) ucMaxPriorityValue.8_14;
+  _16 = _15 & 128;
+  if (_16 == 128)
+    goto <bb 12>; [INV]
   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%]
+    goto <bb 14>; [INV]
+
+  <bb 14> :
+  ulMaxPRIGROUPValue.9_17 = ulMaxPRIGROUPValue;
+  _18 = 7 - ulMaxPRIGROUPValue.9_17;
+  if (_18 != 4)
+    goto <bb 15>; [INV]
   else
-    goto <bb 14>; [20.24%]
+    goto <bb 18>; [INV]
 
-  <bb 12> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 15> :
   __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
+" : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
+
+  <bb 16> :
+
+  <bb 17> :
+  goto <bb 17>; [INV]
+
+  <bb 18> :
+  ulMaxPRIGROUPValue.10_19 = ulMaxPRIGROUPValue;
+  _20 = ulMaxPRIGROUPValue.10_19 << 8;
+  ulMaxPRIGROUPValue = _20;
+  ulMaxPRIGROUPValue.11_21 = ulMaxPRIGROUPValue;
+  _22 = ulMaxPRIGROUPValue.11_21 & 1792;
+  ulMaxPRIGROUPValue = _22;
+  ulOriginalPriority.12_23 ={v} ulOriginalPriority;
+  _24 = (unsigned char) ulOriginalPriority.12_23;
+  *pucFirstUserPriorityRegister_39 ={v} _24;
+  _25 = 3758157088B;
+  _26 ={v} *_25;
+  _27 = 3758157088B;
+  _28 = _26 | 15728640;
+  *_27 ={v} _28;
+  _29 = 3758157088B;
+  _30 ={v} *_29;
+  _31 = 3758157088B;
+  _32 = _30 | 4026531840;
+  *_31 ={v} _32;
   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
+  _33 = 3758157620B;
+  _34 ={v} *_33;
+  _35 = 3758157620B;
+  _36 = _34 | 3221225472;
+  *_35 ={v} _36;
   prvPortStartFirstTask ();
-  # DEBUG BEGIN_STMT
   vTaskSwitchContext ();
-  # DEBUG BEGIN_STMT
   prvTaskExitError ();
-  # DEBUG BEGIN_STMT
-  return 0;
+  _57 = 0;
+
+  <bb 19> :
+<L15>:
+  return _57;
 
 }
 
@@ -630,8 +511,7 @@ xPortStartScheduler ()
 __attribute__((naked, noinline, noclone))
 prvPortStartFirstTask ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__(" ldr r0, =0xE000ED08 	
  ldr r0, [r0] 			
  ldr r0, [r0] 			
@@ -654,8 +534,7 @@ prvPortStartFirstTask ()
 __attribute__((naked, noinline, noclone))
 SVC_Handler ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   __asm__ __volatile__("	ldr	r3, pxCurrentTCBConst2		
 	ldr r1, [r3]					
 	ldr r0, [r1]					
@@ -676,51 +555,49 @@ pxCurrentTCBConst2: .word pxCurrentTCB
 
 prvTaskExitError ()
 {
+  uint32_t ulNewBASEPRI;
   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
+  <bb 2> :
   ulDummy ={v} 0;
-  # DEBUG BEGIN_STMT
   uxCriticalNesting.3_1 = uxCriticalNesting;
   if (uxCriticalNesting.3_1 != 4294967295)
-    goto <bb 3>; [66.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [34.00%]
+    goto <bb 6>; [INV]
 
-  <bb 3> [local count: 107374]:
-  prvTaskExitError.part.0 ();
+  <bb 3> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
+
+  <bb 4> :
 
-  <bb 4> [local count: 55314]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 5> :
+  goto <bb 5>; [INV]
+
+  <bb 6> :
   __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
+  <bb 7> :
+
+  <bb 8> :
   ulDummy.4_2 ={v} ulDummy;
   if (ulDummy.4_2 == 0)
-    goto <bb 7>; [89.00%]
+    goto <bb 8>; [INV]
   else
-    goto <bb 6>; [11.00%]
-
-  <bb 7> [local count: 447539]:
-  goto <bb 5>; [100.00%]
+    goto <bb 9>; [INV]
 
-  <bb 6> [local count: 55314]:
+  <bb 9> :
   return;
 
 }
@@ -728,45 +605,34 @@ prvTaskExitError ()
 
 pxPortInitialiseStack (StackType_t * pxTopOfStack, void (*TaskFunction_t) (void *) pxCode, void * pvParameters)
 {
+  StackType_t * D.5843;
   long unsigned int pxCode.0_1;
   long unsigned int _2;
   long unsigned int prvTaskExitError.1_3;
   long unsigned int pvParameters.2_4;
+  StackType_t * _20;
 
-  <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);
+  <bb 2> :
+  pxTopOfStack_6 = pxTopOfStack_5(D) + 4294967292;
+  *pxTopOfStack_6 = 16777216;
+  pxTopOfStack_9 = pxTopOfStack_6 + 4294967292;
+  pxCode.0_1 = (long unsigned int) pxCode_10(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
+  *pxTopOfStack_9 = _2;
+  pxTopOfStack_12 = pxTopOfStack_9 + 4294967292;
   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;
+  *pxTopOfStack_12 = prvTaskExitError.1_3;
+  pxTopOfStack_14 = pxTopOfStack_12 + 4294967276;
+  pvParameters.2_4 = (long unsigned int) pvParameters_15(D);
+  *pxTopOfStack_14 = pvParameters.2_4;
+  pxTopOfStack_17 = pxTopOfStack_14 + 4294967292;
+  *pxTopOfStack_17 = 4294967293;
+  pxTopOfStack_19 = pxTopOfStack_17 + 4294967264;
+  _20 = pxTopOfStack_19;
+
+  <bb 3> :
+<L0>:
+  return _20;
 
 }
 

BIN
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o


+ 10 - 10
Debug_FLASH/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su

@@ -1,13 +1,13 @@
-port.c:266:13:prvPortStartFirstTask	0	static
-port.c:712:13:vPortEnableVFP	0	static
-port.c:221:13:prvTaskExitError	8	static
-port.c:189:15:pxPortInitialiseStack	0	static
+port.c:189:15:pxPortInitialiseStack	16	static
+port.c:221:13:prvTaskExitError	16	static
 port.c:247:6:SVC_Handler	0	static
-port.c:402:6:vPortEndScheduler	0	static
-port.c:410:6:vPortEnterCritical	0	static
-port.c:427:6:vPortExitCritical	0	static
+port.c:266:13:prvPortStartFirstTask	0	static
+port.c:293:12:xPortStartScheduler	32	static
+port.c:402:6:vPortEndScheduler	8	static
+port.c:410:6:vPortEnterCritical	8	static
+port.c:427:6:vPortExitCritical	8	static
 port.c:439:6:PendSV_Handler	0	static
-port.c:496:6:SysTick_Handler	8	static
+port.c:496:6:SysTick_Handler	16	static
 port.c:690:32:vPortSetupTimerInterrupt	0	static
-port.c:293:12:xPortStartScheduler	16	static
-port.c:729:10:vPortValidateInterruptPriority	0	static
+port.c:712:13:vPortEnableVFP	0	static
+port.c:729:10:vPortValidateInterruptPriority	16	static

+ 1 - 1
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.args

@@ -16,7 +16,7 @@
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Base_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/include"
 -I"C:/NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32K1_2021_08/SW32K1_RTD_4_4_1_0_0_D2108/Platform_TS_T40D2M10I0R0/startup/include"
--Os
+-O0
 -funsigned-char
 -fstack-usage
 -fdump-ipa-all

+ 417 - 379
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.000i.cgraph

@@ -1,543 +1,558 @@
-Trivially needed symbols: vPortGetHeapStats vPortInitialiseBlocks xPortGetMinimumEverFreeHeapSize xPortGetFreeHeapSize vPortFree pvPortMalloc
+Trivially needed symbols: vPortGetHeapStats prvInsertBlockIntoFreeList prvHeapInit vPortInitialiseBlocks xPortGetMinimumEverFreeHeapSize xPortGetFreeHeapSize vPortFree pvPortMalloc xBlockAllocatedBit xNumberOfSuccessfulFrees xNumberOfSuccessfulAllocations xMinimumEverFreeBytesRemaining xFreeBytesRemaining pxEnd xStart xHeapStructSize ucHeap
 
 
 Initial Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   Aux: @01733ea0
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility:
-  Aux: @06b2cd20
+  Visibility: force_output no_reorder
+  Aux: @06b7d0e0
   References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility:
-  Aux: @06b95d20
+  Visibility: force_output no_reorder
+  Aux: @06b7dd20
   References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b950e0
+  Visibility: force_output no_reorder public
+  Aux: @06b7da80
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b957e0
+  Visibility: force_output no_reorder public
+  Aux: @06b7d7e0
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b95540
+  Visibility: force_output no_reorder public
+  Aux: @06b7d540
   References: xFreeBytesRemaining/8 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b952a0
+  Visibility: force_output no_reorder public
+  Aux: @06b7d2a0
   References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: public
-  Aux: @06b95000
+  Visibility: force_output no_reorder public
+  Aux: @06b7d000
   References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 prvHeapInit/18 vTaskSuspendAll/21 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06bdd480
+  Visibility: force_output no_reorder
+  Aux: @06b77ee0
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)prvHeapInit/18 (write)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06b952a0
+  Visibility: force_output no_reorder
+  Aux: @06bc7678
   References: 
   Referring: vPortFree/14 (read)vPortFree/14 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06bdd558
+  Visibility: force_output no_reorder
+  Aux: @06bc75e8
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06bdd3f0
+  Visibility: force_output no_reorder
+  Aux: @06bc75a0
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06bdd678
+  Visibility: force_output no_reorder
+  Aux: @06bc7558
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06b95a80
+  Visibility: force_output no_reorder
+  Aux: @06bc7510
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06bdd510
+  Visibility: force_output no_reorder
+  Aux: @06bc7480
   References: 
   Referring: pvPortMalloc/13 (addr)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (addr)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags:
-xHeapStructSize/5 (xHeapStructSize) @06bdd360
-  Type: variable definition
-  Visibility:
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder
+  Aux: @06bc73f0
   References: 
   Referring: 
   Availability: not-ready
   Varpool flags: initialized read-only const-value-known
-ucHeap/4 (ucHeap) @06bdd120
+ucHeap/4 (ucHeap) @06bc7120
   Type: variable definition analyzed
-  Visibility:
-  Aux: @06b95d20
+  Visibility: force_output no_reorder
+  Aux: @06bc7360
   References: 
   Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: not-ready
   Varpool flags:
-vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b32380
+vPortSetBASEPRI/3 (vPortSetBASEPRI) @06b1e380
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b320e0
+ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06b1e0e0
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b2cd20
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b19d20
   Type: function definition analyzed
-  Visibility:
-  Aux: @06b95000
+  Visibility: no_reorder
+  Aux: @06b7d000
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 vPortFree/14 pvPortMalloc/13 pvPortMalloc/13 pvPortMalloc/13 
   Calls: 
-xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b2ca80
+xPortIsInsideInterrupt/0 (xPortIsInsideInterrupt) @06b19a80
   Type: function definition
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
 
-Removing unused symbols: xHeapStructSize vPortSetBASEPRI ulPortRaiseBASEPRI xPortIsInsideInterrupt
+Removing unused symbols: vPortSetBASEPRI ulPortRaiseBASEPRI xPortIsInsideInterrupt
 
 Reclaimed Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xFreeBytesRemaining/8 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 prvHeapInit/18 vTaskSuspendAll/21 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)prvHeapInit/18 (write)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: vPortFree/14 (read)vPortFree/14 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (addr)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (addr)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
+  References: 
+  Referring: 
+  Availability: not-ready
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder
   References: 
   Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: not-ready
   Varpool flags:
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b2cd20
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b19d20
   Type: function definition analyzed
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 vPortFree/14 pvPortMalloc/13 pvPortMalloc/13 pvPortMalloc/13 
   Calls: 
 
 
 Initial Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xFreeBytesRemaining/8 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 prvHeapInit/18 vTaskSuspendAll/21 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)prvHeapInit/18 (write)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: vPortFree/14 (read)vPortFree/14 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (addr)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (addr)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
+  References: 
+  Referring: 
+  Availability: not-ready
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder
   References: 
   Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: not-ready
   Varpool flags:
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b2cd20
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b19d20
   Type: function definition analyzed
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 vPortFree/14 pvPortMalloc/13 pvPortMalloc/13 pvPortMalloc/13 
   Calls: 
 
@@ -545,164 +560,171 @@ Removing unused symbols:
 
 Reclaimed Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
-  Function flags: optimize_size
+  Function flags:
   Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xFreeBytesRemaining/8 (read)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: public
+  Visibility: force_output no_reorder public
   References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: 
   Calls: vPortRaiseBASEPRI/1 xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 prvHeapInit/18 vTaskSuspendAll/21 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)prvHeapInit/18 (write)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: vPortFree/14 (read)vPortFree/14 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)prvHeapInit/18 (write)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
   References: 
   Referring: pvPortMalloc/13 (addr)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (addr)vPortGetHeapStats/20 (read)
   Availability: not-ready
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
   Type: variable definition analyzed
-  Visibility:
+  Visibility: force_output no_reorder
+  References: 
+  Referring: 
+  Availability: not-ready
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder
   References: 
   Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: not-ready
   Varpool flags:
-vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b2cd20
+vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06b19d20
   Type: function definition analyzed
-  Visibility:
+  Visibility: no_reorder
   References: 
   Referring: 
-  Function flags: body optimize_size
+  Function flags: body
   Called by: vPortFree/14 vPortFree/14 pvPortMalloc/13 pvPortMalloc/13 pvPortMalloc/13 
   Calls: 
 
@@ -711,349 +733,365 @@ Reclaiming variables:
 Clearing address taken flags:
 Optimized Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
   Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+  Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: xStart/6 (addr)pxEnd/7 (read)
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
+  Availability: available
+  Function flags: body
+  Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Function prvHeapInit/18 is inline copy in pvPortMalloc/13
-  Availability: local
-  Function flags: count:40362 (estimated locally) body local nonfreeing_fn optimize_size
-  Called by: pvPortMalloc/13 (inlined) (40362 (estimated locally),0.17 per call) 
+  Availability: available
+  Function flags: body
+  Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xFreeBytesRemaining/8 (read)
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
+  Visibility: force_output externally_visible no_reorder public
+  References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
   Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+  Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
+  Visibility: force_output externally_visible no_reorder public
+  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
   Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (inlined) (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+  Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 prvHeapInit/18 vTaskSuspendAll/21 
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)
+  Referring: prvHeapInit/18 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: vPortFree/14 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: vPortFree/14 (write)pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (addr)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (read)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (addr)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (addr)
+  Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: available
-  Varpool flags: used-by-single-function
+  Varpool flags:
 Materializing clones
 Materialization Call site updates done.
 
 Reclaiming functions:
 Reclaiming variables:
 Clearing address taken flags:
-Time profile order in expand_all_functions:prvInsertBlockIntoFreeList:0
-Time profile order in expand_all_functions:pvPortMalloc:0
-Time profile order in expand_all_functions:vPortFree:0
-Time profile order in expand_all_functions:xPortGetFreeHeapSize:0
-Time profile order in expand_all_functions:xPortGetMinimumEverFreeHeapSize:0
-Time profile order in expand_all_functions:vPortInitialiseBlocks:0
-Time profile order in expand_all_functions:vPortGetHeapStats:0
-Trivially needed variables: xBlockAllocatedBit xNumberOfSuccessfulFrees xNumberOfSuccessfulAllocations xMinimumEverFreeBytesRemaining xFreeBytesRemaining pxEnd xStart ucHeap
+Trivially needed variables: xBlockAllocatedBit xNumberOfSuccessfulFrees xNumberOfSuccessfulAllocations xMinimumEverFreeBytesRemaining xFreeBytesRemaining pxEnd xStart xHeapStructSize ucHeap
 Removing variables:
 
 Final Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
+  Function flags:
+  Called by: 
+  Calls: 
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
+  Type: function definition analyzed
+  Visibility: force_output externally_visible no_reorder asm_written public
+  References: 
+  Referring: 
+  Availability: available
+  Function flags:
   Called by: 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
   References: 
   Referring: 
   Availability: available
-  Function flags: count:168730857 (estimated locally) optimize_size
+  Function flags:
   Called by: 
   Calls: 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly asm_written
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
   References: 
   Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) local nonfreeing_fn optimize_size
+  Availability: available
+  Function flags:
   Called by: 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) nonfreeing_fn optimize_size
+  Function flags:
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:306783 (estimated locally) optimize_size
+  Function flags:
   Called by: 
   Calls: 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: externally_visible asm_written public
+  Visibility: force_output externally_visible no_reorder asm_written public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:231566 (estimated locally) optimize_size
+  Function flags:
   Called by: 
   Calls: 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
   Aux: @00000001
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd678
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc7678
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd5e8
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc75e8
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd5a0
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc75a0
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd558
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc7558
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd510
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc7510
   References: 
   Referring: 
   Availability: available
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd480
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc7480
   References: 
   Referring: 
   Availability: available
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly asm_written
-  Aux: @06bdd3f0
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc73f0
   References: 
   Referring: 
   Availability: available
-  Varpool flags: used-by-single-function
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder prevailing_def_ironly asm_written
+  Aux: @06bc7360
+  References: 
+  Referring: 
+  Availability: available
+  Varpool flags:

+ 0 - 2
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.000i.ipa-clones

@@ -4,5 +4,3 @@ Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/wo
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortFree;14;../FreeRTOS/Source/portable/MemMang/heap_4.c;277;6;inlining to
 Callgraph clone;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34;vPortFree;14;../FreeRTOS/Source/portable/MemMang/heap_4.c;277;6;inlining to
 Callgraph removal;vPortRaiseBASEPRI;1;D:/1_WorkFiles/2_Software/11.Communicator/workspace/S32K144_BLE/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;194;34
-Callgraph clone;prvHeapInit;18;../FreeRTOS/Source/portable/MemMang/heap_4.c;344;13;pvPortMalloc;13;../FreeRTOS/Source/portable/MemMang/heap_4.c;117;8;inlining to
-Callgraph removal;prvHeapInit;18;../FreeRTOS/Source/portable/MemMang/heap_4.c;344;13

File diff suppressed because it is too large
+ 252 - 376
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.016i.visibility


+ 188 - 321
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.017i.build_ssa_passes

@@ -6,26 +6,18 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
   struct BlockLink_t * pxBlock;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xBlocks = 0;
   xMaxSize = 0;
   xMinSize = 4294967295;
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxBlock = xStart.pxNextFreeBlock;
-  # DEBUG BEGIN_STMT
   if (pxBlock != 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 8>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xBlocks = xBlocks + 1;
-  # DEBUG BEGIN_STMT
   _1 = pxBlock->xBlockSize;
   if (xMaxSize < _1)
     goto <bb 4>; [INV]
@@ -33,11 +25,9 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
     goto <bb 5>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   xMaxSize = pxBlock->xBlockSize;
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   _2 = pxBlock->xBlockSize;
   if (xMinSize > _2)
     goto <bb 6>; [INV]
@@ -45,43 +35,30 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   xMinSize = pxBlock->xBlockSize;
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   pxBlock = pxBlock->pxNextFreeBlock;
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxBlock != pxEnd.26_3)
+  pxEnd.32_3 = pxEnd;
+  if (pxBlock != pxEnd.32_3)
     goto <bb 3>; [INV]
   else
     goto <bb 8>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
   pxHeapStats->xSizeOfLargestFreeBlockInBytes = xMaxSize;
-  # DEBUG BEGIN_STMT
   pxHeapStats->xSizeOfSmallestFreeBlockInBytes = xMinSize;
-  # DEBUG BEGIN_STMT
   pxHeapStats->xNumberOfFreeBlocks = xBlocks;
-  # DEBUG BEGIN_STMT
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.33_4 = xFreeBytesRemaining;
+  pxHeapStats->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.33_4;
+  xNumberOfSuccessfulAllocations.34_5 = xNumberOfSuccessfulAllocations;
+  pxHeapStats->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.34_5;
+  xNumberOfSuccessfulFrees.35_6 = xNumberOfSuccessfulFrees;
+  pxHeapStats->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.35_6;
+  xMinimumEverFreeBytesRemaining.36_7 = xMinimumEverFreeBytesRemaining;
+  pxHeapStats->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.36_7;
   vPortExitCritical ();
   return;
 
@@ -94,19 +71,13 @@ prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
   struct BlockLink_t * pxIterator;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxIterator = &xStart;
   goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pxIterator = pxIterator->pxNextFreeBlock;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   _1 = pxIterator->pxNextFreeBlock;
   if (pxBlockToInsert > _1)
     goto <bb 3>; [INV]
@@ -114,9 +85,7 @@ prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
     goto <bb 5>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
   puc = pxIterator;
-  # DEBUG BEGIN_STMT
   _2 = pxIterator->xBlockSize;
   _3 = puc + _2;
   if (pxBlockToInsert == _3)
@@ -125,19 +94,14 @@ prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
     goto <bb 7>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
   _4 = pxIterator->xBlockSize;
   _5 = pxBlockToInsert->xBlockSize;
   _6 = _4 + _5;
   pxIterator->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
   pxBlockToInsert = pxIterator;
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   puc = pxBlockToInsert;
-  # DEBUG BEGIN_STMT
   _7 = pxBlockToInsert->xBlockSize;
   _8 = puc + _7;
   _9 = pxIterator->pxNextFreeBlock;
@@ -147,51 +111,43 @@ prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
     goto <bb 11>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
   _10 = pxIterator->pxNextFreeBlock;
-  pxEnd.19_11 = pxEnd;
-  if (_10 != pxEnd.19_11)
+  pxEnd.30_11 = pxEnd;
+  if (_10 != pxEnd.30_11)
     goto <bb 9>; [INV]
   else
     goto <bb 10>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
   _12 = pxBlockToInsert->xBlockSize;
   _13 = pxIterator->pxNextFreeBlock;
   _14 = _13->xBlockSize;
   _15 = _12 + _14;
   pxBlockToInsert->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
   _16 = pxIterator->pxNextFreeBlock;
   _17 = _16->pxNextFreeBlock;
   pxBlockToInsert->pxNextFreeBlock = _17;
   goto <bb 12>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  pxEnd.20_18 = pxEnd;
-  pxBlockToInsert->pxNextFreeBlock = pxEnd.20_18;
+  pxEnd.31_18 = pxEnd;
+  pxBlockToInsert->pxNextFreeBlock = pxEnd.31_18;
   goto <bb 12>; [INV]
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
   _19 = pxIterator->pxNextFreeBlock;
   pxBlockToInsert->pxNextFreeBlock = _19;
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
   if (pxIterator != pxBlockToInsert)
     goto <bb 13>; [INV]
   else
     goto <bb 14>; [INV]
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
   pxIterator->pxNextFreeBlock = pxBlockToInsert;
 
   <bb 14> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -205,14 +161,8 @@ prvHeapInit ()
   struct BlockLink_t * pxFirstFreeBlock;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xTotalHeapSize = 8192;
-  # DEBUG BEGIN_STMT
   uxAddress = (size_t) &ucHeap;
-  # DEBUG BEGIN_STMT
   _1 = uxAddress & 7;
   if (_1 != 0)
     goto <bb 3>; [INV]
@@ -220,54 +170,37 @@ prvHeapInit ()
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   uxAddress = uxAddress + 7;
-  # DEBUG BEGIN_STMT
   uxAddress = uxAddress & 4294967288;
-  # DEBUG BEGIN_STMT
   _2 = xTotalHeapSize - uxAddress;
-  ucHeap.12_3 = (unsigned int) &ucHeap;
-  xTotalHeapSize = _2 + ucHeap.12_3;
+  ucHeap.22_3 = (unsigned int) &ucHeap;
+  xTotalHeapSize = _2 + ucHeap.22_3;
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   pucAlignedHeap = (uint8_t *) uxAddress;
-  # DEBUG BEGIN_STMT
   xStart.pxNextFreeBlock = pucAlignedHeap;
-  # DEBUG BEGIN_STMT
   xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap.13_4 = (unsigned int) pucAlignedHeap;
-  uxAddress = xTotalHeapSize + pucAlignedHeap.13_4;
-  # DEBUG BEGIN_STMT
-  uxAddress = uxAddress + 4294967288;
-  # DEBUG BEGIN_STMT
+  pucAlignedHeap.23_4 = (unsigned int) pucAlignedHeap;
+  uxAddress = xTotalHeapSize + pucAlignedHeap.23_4;
+  xHeapStructSize.24_5 = 8;
+  uxAddress = uxAddress - xHeapStructSize.24_5;
   uxAddress = uxAddress & 4294967288;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_5 = (struct BlockLink_t *) uxAddress;
-  pxEnd = uxAddress.14_5;
-  # DEBUG BEGIN_STMT
-  pxEnd.15_6 = pxEnd;
-  pxEnd.15_6->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  pxEnd.16_7 = pxEnd;
-  pxEnd.16_7->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
+  uxAddress.25_6 = (struct BlockLink_t *) uxAddress;
+  pxEnd = uxAddress.25_6;
+  pxEnd.26_7 = pxEnd;
+  pxEnd.26_7->xBlockSize = 0;
+  pxEnd.27_8 = pxEnd;
+  pxEnd.27_8->pxNextFreeBlock = 0B;
   pxFirstFreeBlock = pucAlignedHeap;
-  # DEBUG BEGIN_STMT
-  pxFirstFreeBlock.17_8 = (unsigned int) pxFirstFreeBlock;
-  _9 = uxAddress - pxFirstFreeBlock.17_8;
-  pxFirstFreeBlock->xBlockSize = _9;
-  # DEBUG BEGIN_STMT
-  pxEnd.18_10 = pxEnd;
-  pxFirstFreeBlock->pxNextFreeBlock = pxEnd.18_10;
-  # DEBUG BEGIN_STMT
-  _11 = pxFirstFreeBlock->xBlockSize;
-  xMinimumEverFreeBytesRemaining = _11;
-  # DEBUG BEGIN_STMT
+  pxFirstFreeBlock.28_9 = (unsigned int) pxFirstFreeBlock;
+  _10 = uxAddress - pxFirstFreeBlock.28_9;
+  pxFirstFreeBlock->xBlockSize = _10;
+  pxEnd.29_11 = pxEnd;
+  pxFirstFreeBlock->pxNextFreeBlock = pxEnd.29_11;
   _12 = pxFirstFreeBlock->xBlockSize;
-  xFreeBytesRemaining = _12;
-  # DEBUG BEGIN_STMT
+  xMinimumEverFreeBytesRemaining = _12;
+  _13 = pxFirstFreeBlock->xBlockSize;
+  xFreeBytesRemaining = _13;
   xBlockAllocatedBit = 2147483648;
   return;
 
@@ -277,7 +210,6 @@ prvHeapInit ()
 vPortInitialiseBlocks ()
 {
   <bb 2> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -285,24 +217,28 @@ vPortInitialiseBlocks ()
 
 xPortGetMinimumEverFreeHeapSize ()
 {
-  size_t D.6351;
+  size_t D.6338;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  D.6351 = xMinimumEverFreeBytesRemaining;
-  return D.6351;
+  D.6338 = xMinimumEverFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
+  return D.6338;
 
 }
 
 
 xPortGetFreeHeapSize ()
 {
-  size_t D.6349;
+  size_t D.6336;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  D.6349 = xFreeBytesRemaining;
-  return D.6349;
+  D.6336 = xFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
+  return D.6336;
 
 }
 
@@ -313,103 +249,78 @@ vPortFree (void * pv)
   uint8_t * puc;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
   puc = pv;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   if (pv != 0B)
     goto <bb 3>; [INV]
   else
     goto <bb 12>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
-  puc = puc + 4294967288;
-  # DEBUG BEGIN_STMT
+  xHeapStructSize.16_1 = 8;
+  _2 = -xHeapStructSize.16_1;
+  puc = puc + _2;
   pxLink = puc;
-  # DEBUG BEGIN_STMT
-  _1 = pxLink->xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 0)
+  _3 = pxLink->xBlockSize;
+  xBlockAllocatedBit.17_4 = xBlockAllocatedBit;
+  _5 = _3 & xBlockAllocatedBit.17_4;
+  if (_5 == 0)
     goto <bb 4>; [INV]
   else
     goto <bb 6>; [INV]
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 5>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = pxLink->pxNextFreeBlock;
-  if (_4 != 0B)
+  _6 = pxLink->pxNextFreeBlock;
+  if (_6 != 0B)
     goto <bb 7>; [INV]
   else
     goto <bb 9>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
   vPortRaiseBASEPRI ();
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   goto <bb 8>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = pxLink->xBlockSize;
-  xBlockAllocatedBit.22_6 = xBlockAllocatedBit;
-  _7 = _5 & xBlockAllocatedBit.22_6;
-  if (_7 != 0)
+  _7 = pxLink->xBlockSize;
+  xBlockAllocatedBit.18_8 = xBlockAllocatedBit;
+  _9 = _7 & xBlockAllocatedBit.18_8;
+  if (_9 != 0)
     goto <bb 10>; [INV]
   else
     goto <bb 12>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  _8 = pxLink->pxNextFreeBlock;
-  if (_8 == 0B)
+  _10 = pxLink->pxNextFreeBlock;
+  if (_10 == 0B)
     goto <bb 11>; [INV]
   else
     goto <bb 12>; [INV]
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  _9 = pxLink->xBlockSize;
-  xBlockAllocatedBit.23_10 = xBlockAllocatedBit;
-  _11 = ~xBlockAllocatedBit.23_10;
-  _12 = _9 & _11;
-  pxLink->xBlockSize = _12;
-  # DEBUG BEGIN_STMT
+  _11 = pxLink->xBlockSize;
+  xBlockAllocatedBit.19_12 = xBlockAllocatedBit;
+  _13 = ~xBlockAllocatedBit.19_12;
+  _14 = _11 & _13;
+  pxLink->xBlockSize = _14;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _13 = pxLink->xBlockSize;
-  xFreeBytesRemaining.24_14 = xFreeBytesRemaining;
-  _15 = _13 + xFreeBytesRemaining.24_14;
-  xFreeBytesRemaining = _15;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  _15 = pxLink->xBlockSize;
+  xFreeBytesRemaining.20_16 = xFreeBytesRemaining;
+  _17 = _15 + xFreeBytesRemaining.20_16;
+  xFreeBytesRemaining = _17;
   prvInsertBlockIntoFreeList (pxLink);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_16 = xNumberOfSuccessfulFrees;
-  _17 = xNumberOfSuccessfulFrees.25_16 + 1;
-  xNumberOfSuccessfulFrees = _17;
-  # DEBUG BEGIN_STMT
+  xNumberOfSuccessfulFrees.21_18 = xNumberOfSuccessfulFrees;
+  _19 = xNumberOfSuccessfulFrees.21_18 + 1;
+  xNumberOfSuccessfulFrees = _19;
   xTaskResumeAll ();
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
   return;
 
 }
@@ -421,15 +332,11 @@ pvPortMalloc (size_t xWantedSize)
   struct BlockLink_t * pxNewBlockLink;
   struct BlockLink_t * pxPreviousBlock;
   struct BlockLink_t * pxBlock;
-  void * D.6321;
+  void * D.6322;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   pvReturn = 0B;
-  # DEBUG BEGIN_STMT
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxEnd.0_1 = pxEnd;
   if (pxEnd.0_1 == 0B)
     goto <bb 3>; [INV]
@@ -437,236 +344,198 @@ pvPortMalloc (size_t xWantedSize)
     goto <bb 4>; [INV]
 
   <bb 3> :
-  # DEBUG BEGIN_STMT
   prvHeapInit ();
 
   <bb 4> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
   _3 = xWantedSize & xBlockAllocatedBit.1_2;
   if (_3 == 0)
     goto <bb 5>; [INV]
   else
-    goto <bb 28>; [INV]
+    goto <bb 30>; [INV]
 
   <bb 5> :
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize + 4294967295;
-  if (_4 <= 4294967286)
+  if (xWantedSize != 0)
     goto <bb 6>; [INV]
   else
-    goto <bb 12>; [INV]
+    goto <bb 14>; [INV]
 
   <bb 6> :
-  # DEBUG BEGIN_STMT
-  xWantedSize = xWantedSize + 8;
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize & 7;
-  if (_5 != 0)
+  xHeapStructSize.2_4 = 8;
+  _5 = xWantedSize + xHeapStructSize.2_4;
+  if (xWantedSize < _5)
     goto <bb 7>; [INV]
   else
-    goto <bb 13>; [INV]
+    goto <bb 14>; [INV]
 
   <bb 7> :
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize & 4294967288;
-  _7 = _6 + 8;
-  if (xWantedSize < _7)
+  xHeapStructSize.3_6 = 8;
+  xWantedSize = xWantedSize + xHeapStructSize.3_6;
+  _7 = xWantedSize & 7;
+  if (_7 != 0)
     goto <bb 8>; [INV]
   else
-    goto <bb 11>; [INV]
+    goto <bb 13>; [INV]
 
   <bb 8> :
-  # DEBUG BEGIN_STMT
   _8 = xWantedSize & 4294967288;
-  xWantedSize = _8 + 8;
-  # DEBUG BEGIN_STMT
-  _9 = xWantedSize & 7;
-  if (_9 != 0)
+  _9 = _8 + 8;
+  if (xWantedSize < _9)
     goto <bb 9>; [INV]
   else
-    goto <bb 13>; [INV]
+    goto <bb 12>; [INV]
 
   <bb 9> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  _10 = xWantedSize & 4294967288;
+  xWantedSize = _10 + 8;
+  _11 = xWantedSize & 7;
+  if (_11 != 0)
+    goto <bb 10>; [INV]
+  else
+    goto <bb 13>; [INV]
 
   <bb 10> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 10>; [INV]
+  vPortRaiseBASEPRI ();
 
   <bb 11> :
-  # DEBUG BEGIN_STMT
-  xWantedSize = 0;
-  goto <bb 13>; [INV]
+  goto <bb 11>; [INV]
 
   <bb 12> :
-  # DEBUG BEGIN_STMT
   xWantedSize = 0;
 
   <bb 13> :
-  # DEBUG BEGIN_STMT
-  if (xWantedSize != 0)
-    goto <bb 14>; [INV]
-  else
-    goto <bb 28>; [INV]
+  goto <bb 15>; [INV]
 
   <bb 14> :
-  xFreeBytesRemaining.2_10 = xFreeBytesRemaining;
-  if (xWantedSize <= xFreeBytesRemaining.2_10)
-    goto <bb 15>; [INV]
-  else
-    goto <bb 28>; [INV]
+  xWantedSize = 0;
 
   <bb 15> :
-  # DEBUG BEGIN_STMT
-  pxPreviousBlock = &xStart;
-  # DEBUG BEGIN_STMT
-  pxBlock = xStart.pxNextFreeBlock;
-  # DEBUG BEGIN_STMT
-  goto <bb 17>; [INV]
+  if (xWantedSize != 0)
+    goto <bb 16>; [INV]
+  else
+    goto <bb 30>; [INV]
 
   <bb 16> :
-  # DEBUG BEGIN_STMT
-  pxPreviousBlock = pxBlock;
-  # DEBUG BEGIN_STMT
-  pxBlock = pxBlock->pxNextFreeBlock;
+  xFreeBytesRemaining.4_12 = xFreeBytesRemaining;
+  if (xWantedSize <= xFreeBytesRemaining.4_12)
+    goto <bb 17>; [INV]
+  else
+    goto <bb 30>; [INV]
 
   <bb 17> :
-  # DEBUG BEGIN_STMT
-  _11 = pxBlock->xBlockSize;
-  if (xWantedSize > _11)
-    goto <bb 18>; [INV]
-  else
-    goto <bb 19>; [INV]
+  pxPreviousBlock = &xStart;
+  pxBlock = xStart.pxNextFreeBlock;
+  goto <bb 19>; [INV]
 
   <bb 18> :
-  _12 = pxBlock->pxNextFreeBlock;
-  if (_12 != 0B)
-    goto <bb 16>; [INV]
-  else
-    goto <bb 19>; [INV]
+  pxPreviousBlock = pxBlock;
+  pxBlock = pxBlock->pxNextFreeBlock;
 
   <bb 19> :
-  # DEBUG BEGIN_STMT
-  pxEnd.3_13 = pxEnd;
-  if (pxBlock != pxEnd.3_13)
+  _13 = pxBlock->xBlockSize;
+  if (xWantedSize > _13)
     goto <bb 20>; [INV]
   else
-    goto <bb 28>; [INV]
+    goto <bb 21>; [INV]
 
   <bb 20> :
-  # DEBUG BEGIN_STMT
-  _14 = pxPreviousBlock->pxNextFreeBlock;
-  pvReturn = _14 + 8;
-  # DEBUG BEGIN_STMT
-  _15 = pxBlock->pxNextFreeBlock;
-  pxPreviousBlock->pxNextFreeBlock = _15;
-  # DEBUG BEGIN_STMT
-  _16 = pxBlock->xBlockSize;
-  _17 = _16 - xWantedSize;
-  if (_17 > 16)
-    goto <bb 21>; [INV]
+  _14 = pxBlock->pxNextFreeBlock;
+  if (_14 != 0B)
+    goto <bb 18>; [INV]
   else
-    goto <bb 25>; [INV]
+    goto <bb 21>; [INV]
 
   <bb 21> :
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink = pxBlock + xWantedSize;
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_18 = (unsigned int) pxNewBlockLink;
-  _19 = pxNewBlockLink.4_18 & 7;
-  if (_19 != 0)
+  pxEnd.5_15 = pxEnd;
+  if (pxBlock != pxEnd.5_15)
     goto <bb 22>; [INV]
   else
-    goto <bb 24>; [INV]
+    goto <bb 30>; [INV]
 
   <bb 22> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  _16 = pxPreviousBlock->pxNextFreeBlock;
+  xHeapStructSize.6_17 = 8;
+  pvReturn = _16 + xHeapStructSize.6_17;
+  _18 = pxBlock->pxNextFreeBlock;
+  pxPreviousBlock->pxNextFreeBlock = _18;
+  _19 = pxBlock->xBlockSize;
+  _20 = _19 - xWantedSize;
+  xHeapStructSize.7_21 = 8;
+  _22 = xHeapStructSize.7_21 << 1;
+  if (_20 > _22)
+    goto <bb 23>; [INV]
+  else
+    goto <bb 27>; [INV]
 
   <bb 23> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 23>; [INV]
+  pxNewBlockLink = pxBlock + xWantedSize;
+  pxNewBlockLink.8_23 = (unsigned int) pxNewBlockLink;
+  _24 = pxNewBlockLink.8_23 & 7;
+  if (_24 != 0)
+    goto <bb 24>; [INV]
+  else
+    goto <bb 26>; [INV]
 
   <bb 24> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _20 = pxBlock->xBlockSize;
-  _21 = _20 - xWantedSize;
-  pxNewBlockLink->xBlockSize = _21;
-  # DEBUG BEGIN_STMT
-  pxBlock->xBlockSize = xWantedSize;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink);
+  vPortRaiseBASEPRI ();
 
   <bb 25> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_22 = xFreeBytesRemaining;
-  _23 = pxBlock->xBlockSize;
-  _24 = xFreeBytesRemaining.5_22 - _23;
-  xFreeBytesRemaining = _24;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.6_25 = xFreeBytesRemaining;
-  xMinimumEverFreeBytesRemaining.7_26 = xMinimumEverFreeBytesRemaining;
-  if (xFreeBytesRemaining.6_25 < xMinimumEverFreeBytesRemaining.7_26)
-    goto <bb 26>; [INV]
-  else
-    goto <bb 27>; [INV]
+  goto <bb 25>; [INV]
 
   <bb 26> :
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.8_27 = xFreeBytesRemaining;
-  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.8_27;
+  _25 = pxBlock->xBlockSize;
+  _26 = _25 - xWantedSize;
+  pxNewBlockLink->xBlockSize = _26;
+  pxBlock->xBlockSize = xWantedSize;
+  prvInsertBlockIntoFreeList (pxNewBlockLink);
 
   <bb 27> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.9_27 = xFreeBytesRemaining;
   _28 = pxBlock->xBlockSize;
-  xBlockAllocatedBit.9_29 = xBlockAllocatedBit;
-  _30 = _28 | xBlockAllocatedBit.9_29;
-  pxBlock->xBlockSize = _30;
-  # DEBUG BEGIN_STMT
-  pxBlock->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_31 = xNumberOfSuccessfulAllocations;
-  _32 = xNumberOfSuccessfulAllocations.10_31 + 1;
-  xNumberOfSuccessfulAllocations = _32;
+  _29 = xFreeBytesRemaining.9_27 - _28;
+  xFreeBytesRemaining = _29;
+  xFreeBytesRemaining.10_30 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining.11_31 = xMinimumEverFreeBytesRemaining;
+  if (xFreeBytesRemaining.10_30 < xMinimumEverFreeBytesRemaining.11_31)
+    goto <bb 28>; [INV]
+  else
+    goto <bb 29>; [INV]
 
   <bb 28> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_33 = (unsigned int) pvReturn;
-  _34 = pvReturn.11_33 & 7;
-  if (_34 != 0)
-    goto <bb 29>; [INV]
-  else
-    goto <bb 31>; [INV]
+  xFreeBytesRemaining.12_32 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.12_32;
 
   <bb 29> :
-  # DEBUG BEGIN_STMT
-  vPortRaiseBASEPRI ();
+  _33 = pxBlock->xBlockSize;
+  xBlockAllocatedBit.13_34 = xBlockAllocatedBit;
+  _35 = _33 | xBlockAllocatedBit.13_34;
+  pxBlock->xBlockSize = _35;
+  pxBlock->pxNextFreeBlock = 0B;
+  xNumberOfSuccessfulAllocations.14_36 = xNumberOfSuccessfulAllocations;
+  _37 = xNumberOfSuccessfulAllocations.14_36 + 1;
+  xNumberOfSuccessfulAllocations = _37;
 
   <bb 30> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  goto <bb 30>; [INV]
+  xTaskResumeAll ();
+  pvReturn.15_38 = (unsigned int) pvReturn;
+  _39 = pvReturn.15_38 & 7;
+  if (_39 != 0)
+    goto <bb 31>; [INV]
+  else
+    goto <bb 33>; [INV]
 
   <bb 31> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  D.6321 = pvReturn;
-  return D.6321;
+  vPortRaiseBASEPRI ();
+
+  <bb 32> :
+  goto <bb 32>; [INV]
+
+  <bb 33> :
+  D.6322 = pvReturn;
+
+  <bb 34> :
+<L43>:
+  return D.6322;
 
 }
 
@@ -677,8 +546,6 @@ vPortRaiseBASEPRI ()
   uint32_t ulNewBASEPRI;
 
   <bb 2> :
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														

File diff suppressed because it is too large
+ 266 - 439
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.022i.opt_local_passes


+ 596 - 633
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.048i.remove_symbols

@@ -4,168 +4,175 @@ Reclaiming variables:
 Clearing address taken flags:
 Symbol table:
 
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
+vPortExitCritical/24 (vPortExitCritical) @06b8ce00
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 
   Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
+vPortEnterCritical/23 (vPortEnterCritical) @06b8cc40
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 
   Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
+xTaskResumeAll/22 (xTaskResumeAll) @06b8c2a0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
+vTaskSuspendAll/21 (vTaskSuspendAll) @06b8c0e0
   Type: function
   Visibility: external public
   References: 
   Referring: 
   Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
+  Function flags:
+  Called by: vPortGetHeapStats/20 vPortFree/14 pvPortMalloc/13 
   Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
+vPortGetHeapStats/20 (vPortGetHeapStats) @06b7d0e0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
   Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
+  Calls: vPortExitCritical/24 vPortEnterCritical/23 xTaskResumeAll/22 vTaskSuspendAll/21 
+prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b7dd20
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: xStart/6 (addr)pxEnd/7 (read)
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: xStart/6 (addr)pxEnd/7 (read)pxEnd/7 (read)
   Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
+  Availability: available
+  Function flags: body
+  Called by: vPortFree/14 pvPortMalloc/13 
   Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
+prvHeapInit/18 (prvHeapInit) @06b7da80
   Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: ucHeap/4 (addr)ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)pxEnd/7 (read)pxEnd/7 (read)pxEnd/7 (read)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
   Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (40362 (estimated locally),0.17 per call) 
+  Availability: available
+  Function flags: body
+  Called by: pvPortMalloc/13 
   Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
+vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b7d7e0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: 
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
+xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b7d540
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xMinimumEverFreeBytesRemaining/9 (read)
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
+xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b7d2a0
   Type: function definition analyzed
-  Visibility: externally_visible public
+  Visibility: force_output externally_visible no_reorder public
   References: xFreeBytesRemaining/8 (read)
   Referring: 
   Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
   Calls: 
-vPortFree/14 (vPortFree) @06b95000
+vPortFree/14 (vPortFree) @06b7d000
   Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
+  Visibility: force_output externally_visible no_reorder public
+  References: xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
   Referring: 
   Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
+  Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 vTaskSuspendAll/21 
+pvPortMalloc/13 (pvPortMalloc) @06b77ee0
   Type: function definition analyzed
-  Visibility: externally_visible public
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
+  Visibility: force_output externally_visible no_reorder public
+  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (addr)xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (read)xFreeBytesRemaining/8 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
   Referring: 
   Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
+  Function flags: body
   Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
+  Calls: xTaskResumeAll/22 prvInsertBlockIntoFreeList/19 prvHeapInit/18 vTaskSuspendAll/21 
+xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bc7678
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)
+  Referring: prvHeapInit/18 (write)pvPortMalloc/13 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortFree/14 (read)vPortFree/14 (read)
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
+xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bc75e8
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: vPortFree/14 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
+xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bc75a0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
   Referring: pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
+xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bc7558
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (write)xPortGetMinimumEverFreeHeapSize/16 (read)prvHeapInit/18 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
+xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bc7510
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: vPortFree/14 (write)pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortGetHeapStats/20 (read)
+  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (read)vPortFree/14 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (read)pvPortMalloc/13 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
+pxEnd/7 (pxEnd) @06bc7480
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: prvHeapInit/18 (read)prvHeapInit/18 (read)prvInsertBlockIntoFreeList/19 (read)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)prvHeapInit/18 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
+xStart/6 (xStart) @06bc73f0
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (addr)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
+  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (read)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (addr)vPortGetHeapStats/20 (read)
   Availability: available
   Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
+xHeapStructSize/5 (xHeapStructSize) @06bc7360
   Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
+  Visibility: force_output no_reorder prevailing_def_ironly
   References: 
-  Referring: prvHeapInit/18 (addr)
+  Referring: 
+  Availability: available
+  Varpool flags: initialized read-only const-value-known
+ucHeap/4 (ucHeap) @06bc7120
+  Type: variable definition analyzed
+  Visibility: force_output no_reorder prevailing_def_ironly
+  References: 
+  Referring: prvHeapInit/18 (addr)prvHeapInit/18 (addr)
   Availability: available
   Varpool flags:
 vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
@@ -175,94 +182,76 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
   size_t xBlocks;
   struct BlockLink_t * pxBlock;
   unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
+  unsigned int _2;
+  struct BlockLink_t * pxEnd.32_3;
+  unsigned int xFreeBytesRemaining.33_4;
+  unsigned int xNumberOfSuccessfulAllocations.34_5;
+  unsigned int xNumberOfSuccessfulFrees.35_6;
+  unsigned int xMinimumEverFreeBytesRemaining.36_7;
+
+  <bb 2> :
+  xBlocks_17 = 0;
+  xMaxSize_18 = 0;
+  xMinSize_19 = 4294967295;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
+  pxBlock_22 = xStart.pxNextFreeBlock;
+  if (pxBlock_22 != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
+    goto <bb 8>; [INV]
+
+  <bb 3> :
+  # pxBlock_8 = PHI <pxBlock_22(2), pxBlock_26(7)>
+  # xBlocks_9 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_11 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_14 = PHI <xMinSize_19(2), xMinSize_15(7)>
+  xBlocks_23 = xBlocks_9 + 1;
   _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
+  if (xMaxSize_11 < _1)
+    goto <bb 4>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  xMaxSize_24 = pxBlock_8->xBlockSize;
+
+  <bb 5> :
+  # xMaxSize_12 = PHI <xMaxSize_11(3), xMaxSize_24(4)>
+  _2 = pxBlock_8->xBlockSize;
+  if (xMinSize_14 > _2)
+    goto <bb 6>; [INV]
+  else
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  xMinSize_25 = pxBlock_8->xBlockSize;
+
+  <bb 7> :
+  # xMinSize_15 = PHI <xMinSize_14(5), xMinSize_25(6)>
+  pxBlock_26 = pxBlock_8->pxNextFreeBlock;
+  pxEnd.32_3 = pxEnd;
+  if (pxBlock_26 != pxEnd.32_3)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 8> :
+  # xBlocks_10 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_13 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_16 = PHI <xMinSize_19(2), xMinSize_15(7)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
+  pxHeapStats_28(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_13;
+  pxHeapStats_28(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_16;
+  pxHeapStats_28(D)->xNumberOfFreeBlocks = xBlocks_10;
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.33_4 = xFreeBytesRemaining;
+  pxHeapStats_28(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.33_4;
+  xNumberOfSuccessfulAllocations.34_5 = xNumberOfSuccessfulAllocations;
+  pxHeapStats_28(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.34_5;
+  xNumberOfSuccessfulFrees.35_6 = xNumberOfSuccessfulFrees;
+  pxHeapStats_28(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.35_6;
+  xMinimumEverFreeBytesRemaining.36_7 = xMinimumEverFreeBytesRemaining;
+  pxHeapStats_28(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.36_7;
   vPortExitCritical ();
   return;
 
@@ -271,114 +260,108 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
 
 prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
 {
+  uint8_t * puc;
   struct BlockLink_t * pxIterator;
   struct A_BLOCK_LINK * _1;
   unsigned int _2;
   uint8_t * _3;
+  unsigned int _4;
   unsigned int _5;
   unsigned int _6;
   unsigned int _7;
   uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
+  struct A_BLOCK_LINK * _9;
+  struct A_BLOCK_LINK * _10;
+  struct BlockLink_t * pxEnd.30_11;
+  unsigned int _12;
+  struct A_BLOCK_LINK * _13;
+  unsigned int _14;
+  unsigned int _15;
+  struct A_BLOCK_LINK * _16;
+  struct A_BLOCK_LINK * _17;
+  struct BlockLink_t * pxEnd.31_18;
+  struct A_BLOCK_LINK * _19;
+
+  <bb 2> :
+  pxIterator_25 = &xStart;
+  goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_37 = pxIterator_21->pxNextFreeBlock;
+
+  <bb 4> :
+  # pxIterator_21 = PHI <pxIterator_25(2), pxIterator_37(3)>
+  _1 = pxIterator_21->pxNextFreeBlock;
+  if (pxBlockToInsert_27(D) > _1)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
+    goto <bb 5>; [INV]
+
+  <bb 5> :
+  puc_28 = pxIterator_21;
+  _2 = pxIterator_21->xBlockSize;
+  _3 = puc_28 + _2;
+  if (pxBlockToInsert_27(D) == _3)
+    goto <bb 6>; [INV]
   else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  _4 = pxIterator_21->xBlockSize;
+  _5 = pxBlockToInsert_27(D)->xBlockSize;
+  _6 = _4 + _5;
+  pxIterator_21->xBlockSize = _6;
+  pxBlockToInsert_30 = pxIterator_21;
+
+  <bb 7> :
+  # pxBlockToInsert_20 = PHI <pxBlockToInsert_27(D)(5), pxBlockToInsert_30(6)>
+  puc_31 = pxBlockToInsert_20;
+  _7 = pxBlockToInsert_20->xBlockSize;
+  _8 = puc_31 + _7;
+  _9 = pxIterator_21->pxNextFreeBlock;
+  if (_8 == _9)
+    goto <bb 8>; [INV]
   else
-    goto <bb 10>; [70.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
+  <bb 8> :
+  _10 = pxIterator_21->pxNextFreeBlock;
+  pxEnd.30_11 = pxEnd;
+  if (_10 != pxEnd.30_11)
+    goto <bb 9>; [INV]
   else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
+    goto <bb 10>; [INV]
+
+  <bb 9> :
+  _12 = pxBlockToInsert_20->xBlockSize;
+  _13 = pxIterator_21->pxNextFreeBlock;
+  _14 = _13->xBlockSize;
+  _15 = _12 + _14;
+  pxBlockToInsert_20->xBlockSize = _15;
+  _16 = pxIterator_21->pxNextFreeBlock;
+  _17 = _16->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _17;
+  goto <bb 12>; [INV]
+
+  <bb 10> :
+  pxEnd.31_18 = pxEnd;
+  pxBlockToInsert_20->pxNextFreeBlock = pxEnd.31_18;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  _19 = pxIterator_21->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _19;
+
+  <bb 12> :
+  if (pxIterator_21 != pxBlockToInsert_20)
+    goto <bb 13>; [INV]
   else
-    goto <bb 13>; [30.00%]
+    goto <bb 14>; [INV]
 
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
+  <bb 13> :
+  pxIterator_21->pxNextFreeBlock = pxBlockToInsert_20;
 
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -389,79 +372,64 @@ prvHeapInit ()
   size_t xTotalHeapSize;
   size_t uxAddress;
   uint8_t * pucAlignedHeap;
+  struct BlockLink_t * pxFirstFreeBlock;
   unsigned int _1;
   unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
+  unsigned int ucHeap.22_3;
+  unsigned int pucAlignedHeap.23_4;
+  unsigned int xHeapStructSize.24_5;
+  struct BlockLink_t * uxAddress.25_6;
+  struct BlockLink_t * pxEnd.26_7;
+  struct BlockLink_t * pxEnd.27_8;
+  unsigned int pxFirstFreeBlock.28_9;
+  unsigned int _10;
+  struct BlockLink_t * pxEnd.29_11;
+  unsigned int _12;
+  unsigned int _13;
+
+  <bb 2> :
+  xTotalHeapSize_16 = 8192;
+  uxAddress_17 = (size_t) &ucHeap;
+  _1 = uxAddress_17 & 7;
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  uxAddress_18 = uxAddress_17 + 7;
+  uxAddress_19 = uxAddress_18 & 4294967288;
+  _2 = xTotalHeapSize_16 - uxAddress_19;
+  ucHeap.22_3 = (unsigned int) &ucHeap;
+  xTotalHeapSize_20 = _2 + ucHeap.22_3;
+
+  <bb 4> :
+  # uxAddress_14 = PHI <uxAddress_17(2), uxAddress_19(3)>
+  # xTotalHeapSize_15 = PHI <xTotalHeapSize_16(2), xTotalHeapSize_20(3)>
+  pucAlignedHeap_21 = (uint8_t *) uxAddress_14;
+  xStart.pxNextFreeBlock = pucAlignedHeap_21;
   xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
+  pucAlignedHeap.23_4 = (unsigned int) pucAlignedHeap_21;
+  uxAddress_25 = xTotalHeapSize_15 + pucAlignedHeap.23_4;
+  xHeapStructSize.24_5 = 8;
+  uxAddress_26 = uxAddress_25 - xHeapStructSize.24_5;
+  uxAddress_27 = uxAddress_26 & 4294967288;
+  uxAddress.25_6 = (struct BlockLink_t *) uxAddress_27;
+  pxEnd = uxAddress.25_6;
+  pxEnd.26_7 = pxEnd;
+  pxEnd.26_7->xBlockSize = 0;
+  pxEnd.27_8 = pxEnd;
+  pxEnd.27_8->pxNextFreeBlock = 0B;
+  pxFirstFreeBlock_31 = pucAlignedHeap_21;
+  pxFirstFreeBlock.28_9 = (unsigned int) pxFirstFreeBlock_31;
+  _10 = uxAddress_27 - pxFirstFreeBlock.28_9;
+  pxFirstFreeBlock_31->xBlockSize = _10;
+  pxEnd.29_11 = pxEnd;
+  pxFirstFreeBlock_31->pxNextFreeBlock = pxEnd.29_11;
+  _12 = pxFirstFreeBlock_31->xBlockSize;
+  xMinimumEverFreeBytesRemaining = _12;
+  _13 = pxFirstFreeBlock_31->xBlockSize;
+  xFreeBytesRemaining = _13;
   xBlockAllocatedBit = 2147483648;
   return;
 
@@ -470,8 +438,7 @@ prvHeapInit ()
 
 vPortInitialiseBlocks ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   return;
 
 }
@@ -479,11 +446,14 @@ vPortInitialiseBlocks ()
 
 xPortGetMinimumEverFreeHeapSize ()
 {
+  size_t D.6338;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xMinimumEverFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -491,11 +461,14 @@ xPortGetMinimumEverFreeHeapSize ()
 
 xPortGetFreeHeapSize ()
 {
+  size_t D.6336;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -505,122 +478,113 @@ vPortFree (void * pv)
 {
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
+  struct BlockLink_t * pxLink;
   uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
+  unsigned int xHeapStructSize.16_1;
+  sizetype _2;
   unsigned int _3;
-  struct A_BLOCK_LINK * _4;
+  unsigned int xBlockAllocatedBit.17_4;
   unsigned int _5;
-  unsigned int _6;
+  struct A_BLOCK_LINK * _6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
+  unsigned int xBlockAllocatedBit.18_8;
   unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
+  struct A_BLOCK_LINK * _10;
   unsigned int _11;
+  unsigned int xBlockAllocatedBit.19_12;
+  unsigned int _13;
+  unsigned int _14;
+  unsigned int _15;
+  unsigned int xFreeBytesRemaining.20_16;
+  unsigned int _17;
+  unsigned int xNumberOfSuccessfulFrees.21_18;
+  unsigned int _19;
 
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
+  <bb 2> :
+  puc_22 = pv_21(D);
+  if (pv_21(D) != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 0)
-    goto <bb 4>; [50.00%]
+    goto <bb 14>; [INV]
+
+  <bb 3> :
+  xHeapStructSize.16_1 = 8;
+  _2 = -xHeapStructSize.16_1;
+  puc_24 = puc_22 + _2;
+  pxLink_25 = puc_24;
+  _3 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.17_4 = xBlockAllocatedBit;
+  _5 = _3 & xBlockAllocatedBit.17_4;
+  if (_5 == 0)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
+" : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _6 = pxLink_25->pxNextFreeBlock;
+  if (_6 != 0B)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [17.43%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 88659]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  _7 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.18_8 = xBlockAllocatedBit;
+  _9 = _7 & xBlockAllocatedBit.18_8;
+  if (_9 != 0)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  _10 = pxLink_25->pxNextFreeBlock;
+  if (_10 == 0B)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  _11 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.19_12 = xBlockAllocatedBit;
+  _13 = ~xBlockAllocatedBit.19_12;
+  _14 = _11 & _13;
+  pxLink_25->xBlockSize = _14;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
+  _15 = pxLink_25->xBlockSize;
+  xFreeBytesRemaining.20_16 = xFreeBytesRemaining;
+  _17 = _15 + xFreeBytesRemaining.20_16;
+  xFreeBytesRemaining = _17;
+  prvInsertBlockIntoFreeList (pxLink_25);
+  xNumberOfSuccessfulFrees.21_18 = xNumberOfSuccessfulFrees;
+  _19 = xNumberOfSuccessfulFrees.21_18 + 1;
+  xNumberOfSuccessfulFrees = _19;
   xTaskResumeAll ();
 
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -628,281 +592,280 @@ vPortFree (void * pv)
 
 pvPortMalloc (size_t xWantedSize)
 {
+  uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   void * pvReturn;
   struct BlockLink_t * pxNewBlockLink;
   struct BlockLink_t * pxPreviousBlock;
   struct BlockLink_t * pxBlock;
+  void * D.6322;
   struct BlockLink_t * pxEnd.0_1;
   unsigned int xBlockAllocatedBit.1_2;
   unsigned int _3;
-  unsigned int _4;
+  unsigned int xHeapStructSize.2_4;
   unsigned int _5;
-  unsigned int _6;
+  unsigned int xHeapStructSize.3_6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
+  unsigned int _8;
+  unsigned int _9;
   unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
+  unsigned int _11;
+  unsigned int xFreeBytesRemaining.4_12;
+  unsigned int _13;
   struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
+  struct BlockLink_t * pxEnd.5_15;
+  struct A_BLOCK_LINK * _16;
+  unsigned int xHeapStructSize.6_17;
+  struct A_BLOCK_LINK * _18;
   unsigned int _19;
   unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
+  unsigned int xHeapStructSize.7_21;
+  unsigned int _22;
+  unsigned int pxNewBlockLink.8_23;
+  unsigned int _24;
   unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
+  unsigned int _26;
+  unsigned int xFreeBytesRemaining.9_27;
+  unsigned int _28;
+  unsigned int _29;
+  unsigned int xFreeBytesRemaining.10_30;
+  unsigned int xMinimumEverFreeBytesRemaining.11_31;
+  unsigned int xFreeBytesRemaining.12_32;
+  unsigned int _33;
+  unsigned int xBlockAllocatedBit.13_34;
+  unsigned int _35;
+  unsigned int xNumberOfSuccessfulAllocations.14_36;
+  unsigned int _37;
+  unsigned int pvReturn.15_38;
+  unsigned int _39;
+  void * _74;
+
+  <bb 2> :
+  pvReturn_49 = 0B;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxEnd.0_1 = pxEnd;
   if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [82.57%]
+    goto <bb 4>; [INV]
 
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   prvHeapInit ();
 
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
+  _3 = xWantedSize_53(D) & xBlockAllocatedBit.1_2;
   if (_3 == 0)
-    goto <bb 5>; [83.25%]
+    goto <bb 5>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 5> :
+  if (xWantedSize_53(D) != 0)
+    goto <bb 6>; [INV]
   else
-    goto <bb 22>; [16.75%]
+    goto <bb 15>; [INV]
 
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
+  <bb 6> :
+  xHeapStructSize.2_4 = 8;
+  _5 = xWantedSize_53(D) + xHeapStructSize.2_4;
+  if (xWantedSize_53(D) < _5)
+    goto <bb 7>; [INV]
+  else
+    goto <bb 15>; [INV]
+
+  <bb 7> :
+  xHeapStructSize.3_6 = 8;
+  xWantedSize_54 = xWantedSize_53(D) + xHeapStructSize.3_6;
+  _7 = xWantedSize_54 & 7;
+  if (_7 != 0)
+    goto <bb 8>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
+    goto <bb 14>; [INV]
+
+  <bb 8> :
+  _8 = xWantedSize_54 & 4294967288;
+  _9 = _8 + 8;
+  if (xWantedSize_54 < _9)
+    goto <bb 9>; [INV]
   else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
+    goto <bb 13>; [INV]
+
+  <bb 9> :
+  _10 = xWantedSize_54 & 4294967288;
+  xWantedSize_56 = _10 + 8;
+  _11 = xWantedSize_56 & 7;
+  if (_11 != 0)
+    goto <bb 10>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
+    goto <bb 14>; [INV]
+
+  <bb 10> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_75 : "i" 16 : "memory");
+
+  <bb 11> :
+
+  <bb 12> :
+  goto <bb 12>; [INV]
+
+  <bb 13> :
+  xWantedSize_55 = 0;
+
+  <bb 14> :
+  # xWantedSize_40 = PHI <xWantedSize_54(7), xWantedSize_55(13), xWantedSize_56(9)>
+  goto <bb 16>; [INV]
+
+  <bb 15> :
+  xWantedSize_57 = 0;
+
+  <bb 16> :
+  # xWantedSize_41 = PHI <xWantedSize_40(14), xWantedSize_57(15)>
+  if (xWantedSize_41 != 0)
+    goto <bb 17>; [INV]
   else
-    goto <bb 22>; [29.00%]
+    goto <bb 32>; [INV]
 
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
+  <bb 17> :
+  xFreeBytesRemaining.4_12 = xFreeBytesRemaining;
+  if (xWantedSize_41 <= xFreeBytesRemaining.4_12)
+    goto <bb 18>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
+    goto <bb 32>; [INV]
+
+  <bb 18> :
+  pxPreviousBlock_58 = &xStart;
+  pxBlock_59 = xStart.pxNextFreeBlock;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  pxPreviousBlock_60 = pxBlock_42;
+  pxBlock_61 = pxBlock_42->pxNextFreeBlock;
+
+  <bb 20> :
+  # pxBlock_42 = PHI <pxBlock_59(18), pxBlock_61(19)>
+  # pxPreviousBlock_43 = PHI <pxPreviousBlock_58(18), pxPreviousBlock_60(19)>
+  _13 = pxBlock_42->xBlockSize;
+  if (xWantedSize_41 > _13)
+    goto <bb 21>; [INV]
   else
-    goto <bb 13>; [5.50%]
+    goto <bb 22>; [INV]
 
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
+  <bb 21> :
+  _14 = pxBlock_42->pxNextFreeBlock;
+  if (_14 != 0B)
+    goto <bb 19>; [INV]
   else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
+    goto <bb 22>; [INV]
+
+  <bb 22> :
+  pxEnd.5_15 = pxEnd;
+  if (pxBlock_42 != pxEnd.5_15)
+    goto <bb 23>; [INV]
   else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
+    goto <bb 32>; [INV]
+
+  <bb 23> :
+  _16 = pxPreviousBlock_43->pxNextFreeBlock;
+  xHeapStructSize.6_17 = 8;
+  pvReturn_62 = _16 + xHeapStructSize.6_17;
+  _18 = pxBlock_42->pxNextFreeBlock;
+  pxPreviousBlock_43->pxNextFreeBlock = _18;
+  _19 = pxBlock_42->xBlockSize;
+  _20 = _19 - xWantedSize_41;
+  xHeapStructSize.7_21 = 8;
+  _22 = xHeapStructSize.7_21 << 1;
+  if (_20 > _22)
+    goto <bb 24>; [INV]
   else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
+    goto <bb 29>; [INV]
+
+  <bb 24> :
+  pxNewBlockLink_64 = pxBlock_42 + xWantedSize_41;
+  pxNewBlockLink.8_23 = (unsigned int) pxNewBlockLink_64;
+  _24 = pxNewBlockLink.8_23 & 7;
+  if (_24 != 0)
+    goto <bb 25>; [INV]
   else
-    goto <bb 18>; [33.00%]
+    goto <bb 28>; [INV]
 
-  <bb 16> [local count: 16818]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 25> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
+" : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
+
+  <bb 26> :
+
+  <bb 27> :
+  goto <bb 27>; [INV]
+
+  <bb 28> :
+  _25 = pxBlock_42->xBlockSize;
+  _26 = _25 - xWantedSize_41;
+  pxNewBlockLink_64->xBlockSize = _26;
+  pxBlock_42->xBlockSize = xWantedSize_41;
+  prvInsertBlockIntoFreeList (pxNewBlockLink_64);
+
+  <bb 29> :
+  xFreeBytesRemaining.9_27 = xFreeBytesRemaining;
+  _28 = pxBlock_42->xBlockSize;
+  _29 = xFreeBytesRemaining.9_27 - _28;
+  xFreeBytesRemaining = _29;
+  xFreeBytesRemaining.10_30 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining.11_31 = xMinimumEverFreeBytesRemaining;
+  if (xFreeBytesRemaining.10_30 < xMinimumEverFreeBytesRemaining.11_31)
+    goto <bb 30>; [INV]
   else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  xFreeBytesRemaining.12_32 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.12_32;
+
+  <bb 31> :
+  _33 = pxBlock_42->xBlockSize;
+  xBlockAllocatedBit.13_34 = xBlockAllocatedBit;
+  _35 = _33 | xBlockAllocatedBit.13_34;
+  pxBlock_42->xBlockSize = _35;
+  pxBlock_42->pxNextFreeBlock = 0B;
+  xNumberOfSuccessfulAllocations.14_36 = xNumberOfSuccessfulAllocations;
+  _37 = xNumberOfSuccessfulAllocations.14_36 + 1;
+  xNumberOfSuccessfulAllocations = _37;
+
+  <bb 32> :
+  # pvReturn_44 = PHI <pvReturn_49(4), pvReturn_49(17), pvReturn_49(16), pvReturn_49(22), pvReturn_62(31)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
+  pvReturn.15_38 = (unsigned int) pvReturn_44;
+  _39 = pvReturn.15_38 & 7;
+  if (_39 != 0)
+    goto <bb 33>; [INV]
   else
-    goto <bb 25>; [50.00%]
+    goto <bb 36>; [INV]
 
-  <bb 23> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 33> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
+" : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
+
+  <bb 34> :
+
+  <bb 35> :
+  goto <bb 35>; [INV]
+
+  <bb 36> :
+  _74 = pvReturn_44;
+
+  <bb 37> :
+<L43>:
+  return _74;
 
 }
 

+ 520 - 564
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.060i.targetclone

@@ -5,94 +5,76 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
   size_t xBlocks;
   struct BlockLink_t * pxBlock;
   unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
+  unsigned int _2;
+  struct BlockLink_t * pxEnd.32_3;
+  unsigned int xFreeBytesRemaining.33_4;
+  unsigned int xNumberOfSuccessfulAllocations.34_5;
+  unsigned int xNumberOfSuccessfulFrees.35_6;
+  unsigned int xMinimumEverFreeBytesRemaining.36_7;
+
+  <bb 2> :
+  xBlocks_17 = 0;
+  xMaxSize_18 = 0;
+  xMinSize_19 = 4294967295;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
+  pxBlock_22 = xStart.pxNextFreeBlock;
+  if (pxBlock_22 != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
+    goto <bb 8>; [INV]
+
+  <bb 3> :
+  # pxBlock_8 = PHI <pxBlock_22(2), pxBlock_26(7)>
+  # xBlocks_9 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_11 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_14 = PHI <xMinSize_19(2), xMinSize_15(7)>
+  xBlocks_23 = xBlocks_9 + 1;
   _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
+  if (xMaxSize_11 < _1)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  xMaxSize_24 = pxBlock_8->xBlockSize;
+
+  <bb 5> :
+  # xMaxSize_12 = PHI <xMaxSize_11(3), xMaxSize_24(4)>
+  _2 = pxBlock_8->xBlockSize;
+  if (xMinSize_14 > _2)
+    goto <bb 6>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  xMinSize_25 = pxBlock_8->xBlockSize;
+
+  <bb 7> :
+  # xMinSize_15 = PHI <xMinSize_14(5), xMinSize_25(6)>
+  pxBlock_26 = pxBlock_8->pxNextFreeBlock;
+  pxEnd.32_3 = pxEnd;
+  if (pxBlock_26 != pxEnd.32_3)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 8> :
+  # xBlocks_10 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_13 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_16 = PHI <xMinSize_19(2), xMinSize_15(7)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
+  pxHeapStats_28(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_13;
+  pxHeapStats_28(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_16;
+  pxHeapStats_28(D)->xNumberOfFreeBlocks = xBlocks_10;
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.33_4 = xFreeBytesRemaining;
+  pxHeapStats_28(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.33_4;
+  xNumberOfSuccessfulAllocations.34_5 = xNumberOfSuccessfulAllocations;
+  pxHeapStats_28(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.34_5;
+  xNumberOfSuccessfulFrees.35_6 = xNumberOfSuccessfulFrees;
+  pxHeapStats_28(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.35_6;
+  xMinimumEverFreeBytesRemaining.36_7 = xMinimumEverFreeBytesRemaining;
+  pxHeapStats_28(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.36_7;
   vPortExitCritical ();
   return;
 
@@ -101,114 +83,108 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
 
 prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
 {
+  uint8_t * puc;
   struct BlockLink_t * pxIterator;
   struct A_BLOCK_LINK * _1;
   unsigned int _2;
   uint8_t * _3;
+  unsigned int _4;
   unsigned int _5;
   unsigned int _6;
   unsigned int _7;
   uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
+  struct A_BLOCK_LINK * _9;
+  struct A_BLOCK_LINK * _10;
+  struct BlockLink_t * pxEnd.30_11;
+  unsigned int _12;
+  struct A_BLOCK_LINK * _13;
+  unsigned int _14;
+  unsigned int _15;
+  struct A_BLOCK_LINK * _16;
+  struct A_BLOCK_LINK * _17;
+  struct BlockLink_t * pxEnd.31_18;
+  struct A_BLOCK_LINK * _19;
+
+  <bb 2> :
+  pxIterator_25 = &xStart;
+  goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_37 = pxIterator_21->pxNextFreeBlock;
+
+  <bb 4> :
+  # pxIterator_21 = PHI <pxIterator_25(2), pxIterator_37(3)>
+  _1 = pxIterator_21->pxNextFreeBlock;
+  if (pxBlockToInsert_27(D) > _1)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
+    goto <bb 5>; [INV]
+
+  <bb 5> :
+  puc_28 = pxIterator_21;
+  _2 = pxIterator_21->xBlockSize;
+  _3 = puc_28 + _2;
+  if (pxBlockToInsert_27(D) == _3)
+    goto <bb 6>; [INV]
   else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  _4 = pxIterator_21->xBlockSize;
+  _5 = pxBlockToInsert_27(D)->xBlockSize;
+  _6 = _4 + _5;
+  pxIterator_21->xBlockSize = _6;
+  pxBlockToInsert_30 = pxIterator_21;
+
+  <bb 7> :
+  # pxBlockToInsert_20 = PHI <pxBlockToInsert_27(D)(5), pxBlockToInsert_30(6)>
+  puc_31 = pxBlockToInsert_20;
+  _7 = pxBlockToInsert_20->xBlockSize;
+  _8 = puc_31 + _7;
+  _9 = pxIterator_21->pxNextFreeBlock;
+  if (_8 == _9)
+    goto <bb 8>; [INV]
   else
-    goto <bb 10>; [70.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
+  <bb 8> :
+  _10 = pxIterator_21->pxNextFreeBlock;
+  pxEnd.30_11 = pxEnd;
+  if (_10 != pxEnd.30_11)
+    goto <bb 9>; [INV]
   else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
+    goto <bb 10>; [INV]
+
+  <bb 9> :
+  _12 = pxBlockToInsert_20->xBlockSize;
+  _13 = pxIterator_21->pxNextFreeBlock;
+  _14 = _13->xBlockSize;
+  _15 = _12 + _14;
+  pxBlockToInsert_20->xBlockSize = _15;
+  _16 = pxIterator_21->pxNextFreeBlock;
+  _17 = _16->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _17;
+  goto <bb 12>; [INV]
+
+  <bb 10> :
+  pxEnd.31_18 = pxEnd;
+  pxBlockToInsert_20->pxNextFreeBlock = pxEnd.31_18;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  _19 = pxIterator_21->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _19;
+
+  <bb 12> :
+  if (pxIterator_21 != pxBlockToInsert_20)
+    goto <bb 13>; [INV]
   else
-    goto <bb 13>; [30.00%]
+    goto <bb 14>; [INV]
 
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
+  <bb 13> :
+  pxIterator_21->pxNextFreeBlock = pxBlockToInsert_20;
 
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -219,79 +195,64 @@ prvHeapInit ()
   size_t xTotalHeapSize;
   size_t uxAddress;
   uint8_t * pucAlignedHeap;
+  struct BlockLink_t * pxFirstFreeBlock;
   unsigned int _1;
   unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
+  unsigned int ucHeap.22_3;
+  unsigned int pucAlignedHeap.23_4;
+  unsigned int xHeapStructSize.24_5;
+  struct BlockLink_t * uxAddress.25_6;
+  struct BlockLink_t * pxEnd.26_7;
+  struct BlockLink_t * pxEnd.27_8;
+  unsigned int pxFirstFreeBlock.28_9;
+  unsigned int _10;
+  struct BlockLink_t * pxEnd.29_11;
+  unsigned int _12;
+  unsigned int _13;
+
+  <bb 2> :
+  xTotalHeapSize_16 = 8192;
+  uxAddress_17 = (size_t) &ucHeap;
+  _1 = uxAddress_17 & 7;
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  uxAddress_18 = uxAddress_17 + 7;
+  uxAddress_19 = uxAddress_18 & 4294967288;
+  _2 = xTotalHeapSize_16 - uxAddress_19;
+  ucHeap.22_3 = (unsigned int) &ucHeap;
+  xTotalHeapSize_20 = _2 + ucHeap.22_3;
+
+  <bb 4> :
+  # uxAddress_14 = PHI <uxAddress_17(2), uxAddress_19(3)>
+  # xTotalHeapSize_15 = PHI <xTotalHeapSize_16(2), xTotalHeapSize_20(3)>
+  pucAlignedHeap_21 = (uint8_t *) uxAddress_14;
+  xStart.pxNextFreeBlock = pucAlignedHeap_21;
   xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
+  pucAlignedHeap.23_4 = (unsigned int) pucAlignedHeap_21;
+  uxAddress_25 = xTotalHeapSize_15 + pucAlignedHeap.23_4;
+  xHeapStructSize.24_5 = 8;
+  uxAddress_26 = uxAddress_25 - xHeapStructSize.24_5;
+  uxAddress_27 = uxAddress_26 & 4294967288;
+  uxAddress.25_6 = (struct BlockLink_t *) uxAddress_27;
+  pxEnd = uxAddress.25_6;
+  pxEnd.26_7 = pxEnd;
+  pxEnd.26_7->xBlockSize = 0;
+  pxEnd.27_8 = pxEnd;
+  pxEnd.27_8->pxNextFreeBlock = 0B;
+  pxFirstFreeBlock_31 = pucAlignedHeap_21;
+  pxFirstFreeBlock.28_9 = (unsigned int) pxFirstFreeBlock_31;
+  _10 = uxAddress_27 - pxFirstFreeBlock.28_9;
+  pxFirstFreeBlock_31->xBlockSize = _10;
+  pxEnd.29_11 = pxEnd;
+  pxFirstFreeBlock_31->pxNextFreeBlock = pxEnd.29_11;
+  _12 = pxFirstFreeBlock_31->xBlockSize;
+  xMinimumEverFreeBytesRemaining = _12;
+  _13 = pxFirstFreeBlock_31->xBlockSize;
+  xFreeBytesRemaining = _13;
   xBlockAllocatedBit = 2147483648;
   return;
 
@@ -300,8 +261,7 @@ prvHeapInit ()
 
 vPortInitialiseBlocks ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   return;
 
 }
@@ -309,11 +269,14 @@ vPortInitialiseBlocks ()
 
 xPortGetMinimumEverFreeHeapSize ()
 {
+  size_t D.6338;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xMinimumEverFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -321,11 +284,14 @@ xPortGetMinimumEverFreeHeapSize ()
 
 xPortGetFreeHeapSize ()
 {
+  size_t D.6336;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -335,122 +301,113 @@ vPortFree (void * pv)
 {
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
+  struct BlockLink_t * pxLink;
   uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
+  unsigned int xHeapStructSize.16_1;
+  sizetype _2;
   unsigned int _3;
-  struct A_BLOCK_LINK * _4;
+  unsigned int xBlockAllocatedBit.17_4;
   unsigned int _5;
-  unsigned int _6;
+  struct A_BLOCK_LINK * _6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
+  unsigned int xBlockAllocatedBit.18_8;
   unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
+  struct A_BLOCK_LINK * _10;
   unsigned int _11;
+  unsigned int xBlockAllocatedBit.19_12;
+  unsigned int _13;
+  unsigned int _14;
+  unsigned int _15;
+  unsigned int xFreeBytesRemaining.20_16;
+  unsigned int _17;
+  unsigned int xNumberOfSuccessfulFrees.21_18;
+  unsigned int _19;
 
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
+  <bb 2> :
+  puc_22 = pv_21(D);
+  if (pv_21(D) != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 0)
-    goto <bb 4>; [50.00%]
+    goto <bb 14>; [INV]
+
+  <bb 3> :
+  xHeapStructSize.16_1 = 8;
+  _2 = -xHeapStructSize.16_1;
+  puc_24 = puc_22 + _2;
+  pxLink_25 = puc_24;
+  _3 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.17_4 = xBlockAllocatedBit;
+  _5 = _3 & xBlockAllocatedBit.17_4;
+  if (_5 == 0)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
+" : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _6 = pxLink_25->pxNextFreeBlock;
+  if (_6 != 0B)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [17.43%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 88659]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  _7 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.18_8 = xBlockAllocatedBit;
+  _9 = _7 & xBlockAllocatedBit.18_8;
+  if (_9 != 0)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  _10 = pxLink_25->pxNextFreeBlock;
+  if (_10 == 0B)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  _11 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.19_12 = xBlockAllocatedBit;
+  _13 = ~xBlockAllocatedBit.19_12;
+  _14 = _11 & _13;
+  pxLink_25->xBlockSize = _14;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
+  _15 = pxLink_25->xBlockSize;
+  xFreeBytesRemaining.20_16 = xFreeBytesRemaining;
+  _17 = _15 + xFreeBytesRemaining.20_16;
+  xFreeBytesRemaining = _17;
+  prvInsertBlockIntoFreeList (pxLink_25);
+  xNumberOfSuccessfulFrees.21_18 = xNumberOfSuccessfulFrees;
+  _19 = xNumberOfSuccessfulFrees.21_18 + 1;
+  xNumberOfSuccessfulFrees = _19;
   xTaskResumeAll ();
 
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -458,281 +415,280 @@ vPortFree (void * pv)
 
 pvPortMalloc (size_t xWantedSize)
 {
+  uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   void * pvReturn;
   struct BlockLink_t * pxNewBlockLink;
   struct BlockLink_t * pxPreviousBlock;
   struct BlockLink_t * pxBlock;
+  void * D.6322;
   struct BlockLink_t * pxEnd.0_1;
   unsigned int xBlockAllocatedBit.1_2;
   unsigned int _3;
-  unsigned int _4;
+  unsigned int xHeapStructSize.2_4;
   unsigned int _5;
-  unsigned int _6;
+  unsigned int xHeapStructSize.3_6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
+  unsigned int _8;
+  unsigned int _9;
   unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
+  unsigned int _11;
+  unsigned int xFreeBytesRemaining.4_12;
+  unsigned int _13;
   struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
+  struct BlockLink_t * pxEnd.5_15;
+  struct A_BLOCK_LINK * _16;
+  unsigned int xHeapStructSize.6_17;
+  struct A_BLOCK_LINK * _18;
   unsigned int _19;
   unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
+  unsigned int xHeapStructSize.7_21;
+  unsigned int _22;
+  unsigned int pxNewBlockLink.8_23;
+  unsigned int _24;
   unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
+  unsigned int _26;
+  unsigned int xFreeBytesRemaining.9_27;
+  unsigned int _28;
+  unsigned int _29;
+  unsigned int xFreeBytesRemaining.10_30;
+  unsigned int xMinimumEverFreeBytesRemaining.11_31;
+  unsigned int xFreeBytesRemaining.12_32;
+  unsigned int _33;
+  unsigned int xBlockAllocatedBit.13_34;
+  unsigned int _35;
+  unsigned int xNumberOfSuccessfulAllocations.14_36;
+  unsigned int _37;
+  unsigned int pvReturn.15_38;
+  unsigned int _39;
+  void * _74;
+
+  <bb 2> :
+  pvReturn_49 = 0B;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxEnd.0_1 = pxEnd;
   if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [82.57%]
+    goto <bb 4>; [INV]
 
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   prvHeapInit ();
 
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
+  _3 = xWantedSize_53(D) & xBlockAllocatedBit.1_2;
   if (_3 == 0)
-    goto <bb 5>; [83.25%]
+    goto <bb 5>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 5> :
+  if (xWantedSize_53(D) != 0)
+    goto <bb 6>; [INV]
   else
-    goto <bb 22>; [16.75%]
+    goto <bb 15>; [INV]
 
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
+  <bb 6> :
+  xHeapStructSize.2_4 = 8;
+  _5 = xWantedSize_53(D) + xHeapStructSize.2_4;
+  if (xWantedSize_53(D) < _5)
+    goto <bb 7>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
+    goto <bb 15>; [INV]
+
+  <bb 7> :
+  xHeapStructSize.3_6 = 8;
+  xWantedSize_54 = xWantedSize_53(D) + xHeapStructSize.3_6;
+  _7 = xWantedSize_54 & 7;
+  if (_7 != 0)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
+    goto <bb 14>; [INV]
+
+  <bb 8> :
+  _8 = xWantedSize_54 & 4294967288;
+  _9 = _8 + 8;
+  if (xWantedSize_54 < _9)
+    goto <bb 9>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
+    goto <bb 13>; [INV]
+
+  <bb 9> :
+  _10 = xWantedSize_54 & 4294967288;
+  xWantedSize_56 = _10 + 8;
+  _11 = xWantedSize_56 & 7;
+  if (_11 != 0)
+    goto <bb 10>; [INV]
   else
-    goto <bb 22>; [29.00%]
+    goto <bb 14>; [INV]
 
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
+  <bb 10> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_75 : "i" 16 : "memory");
+
+  <bb 11> :
+
+  <bb 12> :
+  goto <bb 12>; [INV]
+
+  <bb 13> :
+  xWantedSize_55 = 0;
+
+  <bb 14> :
+  # xWantedSize_40 = PHI <xWantedSize_54(7), xWantedSize_55(13), xWantedSize_56(9)>
+  goto <bb 16>; [INV]
+
+  <bb 15> :
+  xWantedSize_57 = 0;
+
+  <bb 16> :
+  # xWantedSize_41 = PHI <xWantedSize_40(14), xWantedSize_57(15)>
+  if (xWantedSize_41 != 0)
+    goto <bb 17>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
+    goto <bb 32>; [INV]
+
+  <bb 17> :
+  xFreeBytesRemaining.4_12 = xFreeBytesRemaining;
+  if (xWantedSize_41 <= xFreeBytesRemaining.4_12)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 18> :
+  pxPreviousBlock_58 = &xStart;
+  pxBlock_59 = xStart.pxNextFreeBlock;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  pxPreviousBlock_60 = pxBlock_42;
+  pxBlock_61 = pxBlock_42->pxNextFreeBlock;
+
+  <bb 20> :
+  # pxBlock_42 = PHI <pxBlock_59(18), pxBlock_61(19)>
+  # pxPreviousBlock_43 = PHI <pxPreviousBlock_58(18), pxPreviousBlock_60(19)>
+  _13 = pxBlock_42->xBlockSize;
+  if (xWantedSize_41 > _13)
+    goto <bb 21>; [INV]
   else
-    goto <bb 13>; [5.50%]
+    goto <bb 22>; [INV]
 
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
+  <bb 21> :
+  _14 = pxBlock_42->pxNextFreeBlock;
+  if (_14 != 0B)
+    goto <bb 19>; [INV]
   else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
+    goto <bb 22>; [INV]
+
+  <bb 22> :
+  pxEnd.5_15 = pxEnd;
+  if (pxBlock_42 != pxEnd.5_15)
+    goto <bb 23>; [INV]
   else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
+    goto <bb 32>; [INV]
+
+  <bb 23> :
+  _16 = pxPreviousBlock_43->pxNextFreeBlock;
+  xHeapStructSize.6_17 = 8;
+  pvReturn_62 = _16 + xHeapStructSize.6_17;
+  _18 = pxBlock_42->pxNextFreeBlock;
+  pxPreviousBlock_43->pxNextFreeBlock = _18;
+  _19 = pxBlock_42->xBlockSize;
+  _20 = _19 - xWantedSize_41;
+  xHeapStructSize.7_21 = 8;
+  _22 = xHeapStructSize.7_21 << 1;
+  if (_20 > _22)
+    goto <bb 24>; [INV]
   else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
+    goto <bb 29>; [INV]
+
+  <bb 24> :
+  pxNewBlockLink_64 = pxBlock_42 + xWantedSize_41;
+  pxNewBlockLink.8_23 = (unsigned int) pxNewBlockLink_64;
+  _24 = pxNewBlockLink.8_23 & 7;
+  if (_24 != 0)
+    goto <bb 25>; [INV]
   else
-    goto <bb 18>; [33.00%]
+    goto <bb 28>; [INV]
 
-  <bb 16> [local count: 16818]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 25> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
+" : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
+
+  <bb 26> :
+
+  <bb 27> :
+  goto <bb 27>; [INV]
+
+  <bb 28> :
+  _25 = pxBlock_42->xBlockSize;
+  _26 = _25 - xWantedSize_41;
+  pxNewBlockLink_64->xBlockSize = _26;
+  pxBlock_42->xBlockSize = xWantedSize_41;
+  prvInsertBlockIntoFreeList (pxNewBlockLink_64);
+
+  <bb 29> :
+  xFreeBytesRemaining.9_27 = xFreeBytesRemaining;
+  _28 = pxBlock_42->xBlockSize;
+  _29 = xFreeBytesRemaining.9_27 - _28;
+  xFreeBytesRemaining = _29;
+  xFreeBytesRemaining.10_30 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining.11_31 = xMinimumEverFreeBytesRemaining;
+  if (xFreeBytesRemaining.10_30 < xMinimumEverFreeBytesRemaining.11_31)
+    goto <bb 30>; [INV]
   else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  xFreeBytesRemaining.12_32 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.12_32;
+
+  <bb 31> :
+  _33 = pxBlock_42->xBlockSize;
+  xBlockAllocatedBit.13_34 = xBlockAllocatedBit;
+  _35 = _33 | xBlockAllocatedBit.13_34;
+  pxBlock_42->xBlockSize = _35;
+  pxBlock_42->pxNextFreeBlock = 0B;
+  xNumberOfSuccessfulAllocations.14_36 = xNumberOfSuccessfulAllocations;
+  _37 = xNumberOfSuccessfulAllocations.14_36 + 1;
+  xNumberOfSuccessfulAllocations = _37;
+
+  <bb 32> :
+  # pvReturn_44 = PHI <pvReturn_49(4), pvReturn_49(17), pvReturn_49(16), pvReturn_49(22), pvReturn_62(31)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
+  pvReturn.15_38 = (unsigned int) pvReturn_44;
+  _39 = pvReturn.15_38 & 7;
+  if (_39 != 0)
+    goto <bb 33>; [INV]
   else
-    goto <bb 25>; [50.00%]
+    goto <bb 36>; [INV]
 
-  <bb 23> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 33> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
+" : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
+
+  <bb 34> :
+
+  <bb 35> :
+  goto <bb 35>; [INV]
+
+  <bb 36> :
+  _74 = pvReturn_44;
+
+  <bb 37> :
+<L43>:
+  return _74;
 
 }
 

+ 520 - 564
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.064i.free-fnsummary1

@@ -5,94 +5,76 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
   size_t xBlocks;
   struct BlockLink_t * pxBlock;
   unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
+  unsigned int _2;
+  struct BlockLink_t * pxEnd.32_3;
+  unsigned int xFreeBytesRemaining.33_4;
+  unsigned int xNumberOfSuccessfulAllocations.34_5;
+  unsigned int xNumberOfSuccessfulFrees.35_6;
+  unsigned int xMinimumEverFreeBytesRemaining.36_7;
+
+  <bb 2> :
+  xBlocks_17 = 0;
+  xMaxSize_18 = 0;
+  xMinSize_19 = 4294967295;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
+  pxBlock_22 = xStart.pxNextFreeBlock;
+  if (pxBlock_22 != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
+    goto <bb 8>; [INV]
+
+  <bb 3> :
+  # pxBlock_8 = PHI <pxBlock_22(2), pxBlock_26(7)>
+  # xBlocks_9 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_11 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_14 = PHI <xMinSize_19(2), xMinSize_15(7)>
+  xBlocks_23 = xBlocks_9 + 1;
   _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
+  if (xMaxSize_11 < _1)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  xMaxSize_24 = pxBlock_8->xBlockSize;
+
+  <bb 5> :
+  # xMaxSize_12 = PHI <xMaxSize_11(3), xMaxSize_24(4)>
+  _2 = pxBlock_8->xBlockSize;
+  if (xMinSize_14 > _2)
+    goto <bb 6>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  xMinSize_25 = pxBlock_8->xBlockSize;
+
+  <bb 7> :
+  # xMinSize_15 = PHI <xMinSize_14(5), xMinSize_25(6)>
+  pxBlock_26 = pxBlock_8->pxNextFreeBlock;
+  pxEnd.32_3 = pxEnd;
+  if (pxBlock_26 != pxEnd.32_3)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 8> :
+  # xBlocks_10 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_13 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_16 = PHI <xMinSize_19(2), xMinSize_15(7)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
+  pxHeapStats_28(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_13;
+  pxHeapStats_28(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_16;
+  pxHeapStats_28(D)->xNumberOfFreeBlocks = xBlocks_10;
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.33_4 = xFreeBytesRemaining;
+  pxHeapStats_28(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.33_4;
+  xNumberOfSuccessfulAllocations.34_5 = xNumberOfSuccessfulAllocations;
+  pxHeapStats_28(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.34_5;
+  xNumberOfSuccessfulFrees.35_6 = xNumberOfSuccessfulFrees;
+  pxHeapStats_28(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.35_6;
+  xMinimumEverFreeBytesRemaining.36_7 = xMinimumEverFreeBytesRemaining;
+  pxHeapStats_28(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.36_7;
   vPortExitCritical ();
   return;
 
@@ -101,114 +83,108 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
 
 prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
 {
+  uint8_t * puc;
   struct BlockLink_t * pxIterator;
   struct A_BLOCK_LINK * _1;
   unsigned int _2;
   uint8_t * _3;
+  unsigned int _4;
   unsigned int _5;
   unsigned int _6;
   unsigned int _7;
   uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
+  struct A_BLOCK_LINK * _9;
+  struct A_BLOCK_LINK * _10;
+  struct BlockLink_t * pxEnd.30_11;
+  unsigned int _12;
+  struct A_BLOCK_LINK * _13;
+  unsigned int _14;
+  unsigned int _15;
+  struct A_BLOCK_LINK * _16;
+  struct A_BLOCK_LINK * _17;
+  struct BlockLink_t * pxEnd.31_18;
+  struct A_BLOCK_LINK * _19;
+
+  <bb 2> :
+  pxIterator_25 = &xStart;
+  goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_37 = pxIterator_21->pxNextFreeBlock;
+
+  <bb 4> :
+  # pxIterator_21 = PHI <pxIterator_25(2), pxIterator_37(3)>
+  _1 = pxIterator_21->pxNextFreeBlock;
+  if (pxBlockToInsert_27(D) > _1)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
+    goto <bb 5>; [INV]
+
+  <bb 5> :
+  puc_28 = pxIterator_21;
+  _2 = pxIterator_21->xBlockSize;
+  _3 = puc_28 + _2;
+  if (pxBlockToInsert_27(D) == _3)
+    goto <bb 6>; [INV]
   else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  _4 = pxIterator_21->xBlockSize;
+  _5 = pxBlockToInsert_27(D)->xBlockSize;
+  _6 = _4 + _5;
+  pxIterator_21->xBlockSize = _6;
+  pxBlockToInsert_30 = pxIterator_21;
+
+  <bb 7> :
+  # pxBlockToInsert_20 = PHI <pxBlockToInsert_27(D)(5), pxBlockToInsert_30(6)>
+  puc_31 = pxBlockToInsert_20;
+  _7 = pxBlockToInsert_20->xBlockSize;
+  _8 = puc_31 + _7;
+  _9 = pxIterator_21->pxNextFreeBlock;
+  if (_8 == _9)
+    goto <bb 8>; [INV]
   else
-    goto <bb 10>; [70.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
+  <bb 8> :
+  _10 = pxIterator_21->pxNextFreeBlock;
+  pxEnd.30_11 = pxEnd;
+  if (_10 != pxEnd.30_11)
+    goto <bb 9>; [INV]
   else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
+    goto <bb 10>; [INV]
+
+  <bb 9> :
+  _12 = pxBlockToInsert_20->xBlockSize;
+  _13 = pxIterator_21->pxNextFreeBlock;
+  _14 = _13->xBlockSize;
+  _15 = _12 + _14;
+  pxBlockToInsert_20->xBlockSize = _15;
+  _16 = pxIterator_21->pxNextFreeBlock;
+  _17 = _16->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _17;
+  goto <bb 12>; [INV]
+
+  <bb 10> :
+  pxEnd.31_18 = pxEnd;
+  pxBlockToInsert_20->pxNextFreeBlock = pxEnd.31_18;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  _19 = pxIterator_21->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _19;
+
+  <bb 12> :
+  if (pxIterator_21 != pxBlockToInsert_20)
+    goto <bb 13>; [INV]
   else
-    goto <bb 13>; [30.00%]
+    goto <bb 14>; [INV]
 
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
+  <bb 13> :
+  pxIterator_21->pxNextFreeBlock = pxBlockToInsert_20;
 
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -219,79 +195,64 @@ prvHeapInit ()
   size_t xTotalHeapSize;
   size_t uxAddress;
   uint8_t * pucAlignedHeap;
+  struct BlockLink_t * pxFirstFreeBlock;
   unsigned int _1;
   unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
+  unsigned int ucHeap.22_3;
+  unsigned int pucAlignedHeap.23_4;
+  unsigned int xHeapStructSize.24_5;
+  struct BlockLink_t * uxAddress.25_6;
+  struct BlockLink_t * pxEnd.26_7;
+  struct BlockLink_t * pxEnd.27_8;
+  unsigned int pxFirstFreeBlock.28_9;
+  unsigned int _10;
+  struct BlockLink_t * pxEnd.29_11;
+  unsigned int _12;
+  unsigned int _13;
+
+  <bb 2> :
+  xTotalHeapSize_16 = 8192;
+  uxAddress_17 = (size_t) &ucHeap;
+  _1 = uxAddress_17 & 7;
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  uxAddress_18 = uxAddress_17 + 7;
+  uxAddress_19 = uxAddress_18 & 4294967288;
+  _2 = xTotalHeapSize_16 - uxAddress_19;
+  ucHeap.22_3 = (unsigned int) &ucHeap;
+  xTotalHeapSize_20 = _2 + ucHeap.22_3;
+
+  <bb 4> :
+  # uxAddress_14 = PHI <uxAddress_17(2), uxAddress_19(3)>
+  # xTotalHeapSize_15 = PHI <xTotalHeapSize_16(2), xTotalHeapSize_20(3)>
+  pucAlignedHeap_21 = (uint8_t *) uxAddress_14;
+  xStart.pxNextFreeBlock = pucAlignedHeap_21;
   xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
+  pucAlignedHeap.23_4 = (unsigned int) pucAlignedHeap_21;
+  uxAddress_25 = xTotalHeapSize_15 + pucAlignedHeap.23_4;
+  xHeapStructSize.24_5 = 8;
+  uxAddress_26 = uxAddress_25 - xHeapStructSize.24_5;
+  uxAddress_27 = uxAddress_26 & 4294967288;
+  uxAddress.25_6 = (struct BlockLink_t *) uxAddress_27;
+  pxEnd = uxAddress.25_6;
+  pxEnd.26_7 = pxEnd;
+  pxEnd.26_7->xBlockSize = 0;
+  pxEnd.27_8 = pxEnd;
+  pxEnd.27_8->pxNextFreeBlock = 0B;
+  pxFirstFreeBlock_31 = pucAlignedHeap_21;
+  pxFirstFreeBlock.28_9 = (unsigned int) pxFirstFreeBlock_31;
+  _10 = uxAddress_27 - pxFirstFreeBlock.28_9;
+  pxFirstFreeBlock_31->xBlockSize = _10;
+  pxEnd.29_11 = pxEnd;
+  pxFirstFreeBlock_31->pxNextFreeBlock = pxEnd.29_11;
+  _12 = pxFirstFreeBlock_31->xBlockSize;
+  xMinimumEverFreeBytesRemaining = _12;
+  _13 = pxFirstFreeBlock_31->xBlockSize;
+  xFreeBytesRemaining = _13;
   xBlockAllocatedBit = 2147483648;
   return;
 
@@ -300,8 +261,7 @@ prvHeapInit ()
 
 vPortInitialiseBlocks ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   return;
 
 }
@@ -309,11 +269,14 @@ vPortInitialiseBlocks ()
 
 xPortGetMinimumEverFreeHeapSize ()
 {
+  size_t D.6338;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xMinimumEverFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -321,11 +284,14 @@ xPortGetMinimumEverFreeHeapSize ()
 
 xPortGetFreeHeapSize ()
 {
+  size_t D.6336;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -335,122 +301,113 @@ vPortFree (void * pv)
 {
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
+  struct BlockLink_t * pxLink;
   uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
+  unsigned int xHeapStructSize.16_1;
+  sizetype _2;
   unsigned int _3;
-  struct A_BLOCK_LINK * _4;
+  unsigned int xBlockAllocatedBit.17_4;
   unsigned int _5;
-  unsigned int _6;
+  struct A_BLOCK_LINK * _6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
+  unsigned int xBlockAllocatedBit.18_8;
   unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
+  struct A_BLOCK_LINK * _10;
   unsigned int _11;
+  unsigned int xBlockAllocatedBit.19_12;
+  unsigned int _13;
+  unsigned int _14;
+  unsigned int _15;
+  unsigned int xFreeBytesRemaining.20_16;
+  unsigned int _17;
+  unsigned int xNumberOfSuccessfulFrees.21_18;
+  unsigned int _19;
 
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
+  <bb 2> :
+  puc_22 = pv_21(D);
+  if (pv_21(D) != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 0)
-    goto <bb 4>; [50.00%]
+    goto <bb 14>; [INV]
+
+  <bb 3> :
+  xHeapStructSize.16_1 = 8;
+  _2 = -xHeapStructSize.16_1;
+  puc_24 = puc_22 + _2;
+  pxLink_25 = puc_24;
+  _3 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.17_4 = xBlockAllocatedBit;
+  _5 = _3 & xBlockAllocatedBit.17_4;
+  if (_5 == 0)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
+" : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _6 = pxLink_25->pxNextFreeBlock;
+  if (_6 != 0B)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [17.43%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 88659]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  _7 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.18_8 = xBlockAllocatedBit;
+  _9 = _7 & xBlockAllocatedBit.18_8;
+  if (_9 != 0)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  _10 = pxLink_25->pxNextFreeBlock;
+  if (_10 == 0B)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  _11 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.19_12 = xBlockAllocatedBit;
+  _13 = ~xBlockAllocatedBit.19_12;
+  _14 = _11 & _13;
+  pxLink_25->xBlockSize = _14;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
+  _15 = pxLink_25->xBlockSize;
+  xFreeBytesRemaining.20_16 = xFreeBytesRemaining;
+  _17 = _15 + xFreeBytesRemaining.20_16;
+  xFreeBytesRemaining = _17;
+  prvInsertBlockIntoFreeList (pxLink_25);
+  xNumberOfSuccessfulFrees.21_18 = xNumberOfSuccessfulFrees;
+  _19 = xNumberOfSuccessfulFrees.21_18 + 1;
+  xNumberOfSuccessfulFrees = _19;
   xTaskResumeAll ();
 
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -458,281 +415,280 @@ vPortFree (void * pv)
 
 pvPortMalloc (size_t xWantedSize)
 {
+  uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   void * pvReturn;
   struct BlockLink_t * pxNewBlockLink;
   struct BlockLink_t * pxPreviousBlock;
   struct BlockLink_t * pxBlock;
+  void * D.6322;
   struct BlockLink_t * pxEnd.0_1;
   unsigned int xBlockAllocatedBit.1_2;
   unsigned int _3;
-  unsigned int _4;
+  unsigned int xHeapStructSize.2_4;
   unsigned int _5;
-  unsigned int _6;
+  unsigned int xHeapStructSize.3_6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
+  unsigned int _8;
+  unsigned int _9;
   unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
+  unsigned int _11;
+  unsigned int xFreeBytesRemaining.4_12;
+  unsigned int _13;
   struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
+  struct BlockLink_t * pxEnd.5_15;
+  struct A_BLOCK_LINK * _16;
+  unsigned int xHeapStructSize.6_17;
+  struct A_BLOCK_LINK * _18;
   unsigned int _19;
   unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
+  unsigned int xHeapStructSize.7_21;
+  unsigned int _22;
+  unsigned int pxNewBlockLink.8_23;
+  unsigned int _24;
   unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
+  unsigned int _26;
+  unsigned int xFreeBytesRemaining.9_27;
+  unsigned int _28;
+  unsigned int _29;
+  unsigned int xFreeBytesRemaining.10_30;
+  unsigned int xMinimumEverFreeBytesRemaining.11_31;
+  unsigned int xFreeBytesRemaining.12_32;
+  unsigned int _33;
+  unsigned int xBlockAllocatedBit.13_34;
+  unsigned int _35;
+  unsigned int xNumberOfSuccessfulAllocations.14_36;
+  unsigned int _37;
+  unsigned int pvReturn.15_38;
+  unsigned int _39;
+  void * _74;
+
+  <bb 2> :
+  pvReturn_49 = 0B;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxEnd.0_1 = pxEnd;
   if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [82.57%]
+    goto <bb 4>; [INV]
 
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   prvHeapInit ();
 
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
+  _3 = xWantedSize_53(D) & xBlockAllocatedBit.1_2;
   if (_3 == 0)
-    goto <bb 5>; [83.25%]
+    goto <bb 5>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 5> :
+  if (xWantedSize_53(D) != 0)
+    goto <bb 6>; [INV]
   else
-    goto <bb 22>; [16.75%]
+    goto <bb 15>; [INV]
 
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
+  <bb 6> :
+  xHeapStructSize.2_4 = 8;
+  _5 = xWantedSize_53(D) + xHeapStructSize.2_4;
+  if (xWantedSize_53(D) < _5)
+    goto <bb 7>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
+    goto <bb 15>; [INV]
+
+  <bb 7> :
+  xHeapStructSize.3_6 = 8;
+  xWantedSize_54 = xWantedSize_53(D) + xHeapStructSize.3_6;
+  _7 = xWantedSize_54 & 7;
+  if (_7 != 0)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
+    goto <bb 14>; [INV]
+
+  <bb 8> :
+  _8 = xWantedSize_54 & 4294967288;
+  _9 = _8 + 8;
+  if (xWantedSize_54 < _9)
+    goto <bb 9>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
+    goto <bb 13>; [INV]
+
+  <bb 9> :
+  _10 = xWantedSize_54 & 4294967288;
+  xWantedSize_56 = _10 + 8;
+  _11 = xWantedSize_56 & 7;
+  if (_11 != 0)
+    goto <bb 10>; [INV]
   else
-    goto <bb 22>; [29.00%]
+    goto <bb 14>; [INV]
 
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
+  <bb 10> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_75 : "i" 16 : "memory");
+
+  <bb 11> :
+
+  <bb 12> :
+  goto <bb 12>; [INV]
+
+  <bb 13> :
+  xWantedSize_55 = 0;
+
+  <bb 14> :
+  # xWantedSize_40 = PHI <xWantedSize_54(7), xWantedSize_55(13), xWantedSize_56(9)>
+  goto <bb 16>; [INV]
+
+  <bb 15> :
+  xWantedSize_57 = 0;
+
+  <bb 16> :
+  # xWantedSize_41 = PHI <xWantedSize_40(14), xWantedSize_57(15)>
+  if (xWantedSize_41 != 0)
+    goto <bb 17>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
+    goto <bb 32>; [INV]
+
+  <bb 17> :
+  xFreeBytesRemaining.4_12 = xFreeBytesRemaining;
+  if (xWantedSize_41 <= xFreeBytesRemaining.4_12)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 18> :
+  pxPreviousBlock_58 = &xStart;
+  pxBlock_59 = xStart.pxNextFreeBlock;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  pxPreviousBlock_60 = pxBlock_42;
+  pxBlock_61 = pxBlock_42->pxNextFreeBlock;
+
+  <bb 20> :
+  # pxBlock_42 = PHI <pxBlock_59(18), pxBlock_61(19)>
+  # pxPreviousBlock_43 = PHI <pxPreviousBlock_58(18), pxPreviousBlock_60(19)>
+  _13 = pxBlock_42->xBlockSize;
+  if (xWantedSize_41 > _13)
+    goto <bb 21>; [INV]
   else
-    goto <bb 13>; [5.50%]
+    goto <bb 22>; [INV]
 
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
+  <bb 21> :
+  _14 = pxBlock_42->pxNextFreeBlock;
+  if (_14 != 0B)
+    goto <bb 19>; [INV]
   else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
+    goto <bb 22>; [INV]
+
+  <bb 22> :
+  pxEnd.5_15 = pxEnd;
+  if (pxBlock_42 != pxEnd.5_15)
+    goto <bb 23>; [INV]
   else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
+    goto <bb 32>; [INV]
+
+  <bb 23> :
+  _16 = pxPreviousBlock_43->pxNextFreeBlock;
+  xHeapStructSize.6_17 = 8;
+  pvReturn_62 = _16 + xHeapStructSize.6_17;
+  _18 = pxBlock_42->pxNextFreeBlock;
+  pxPreviousBlock_43->pxNextFreeBlock = _18;
+  _19 = pxBlock_42->xBlockSize;
+  _20 = _19 - xWantedSize_41;
+  xHeapStructSize.7_21 = 8;
+  _22 = xHeapStructSize.7_21 << 1;
+  if (_20 > _22)
+    goto <bb 24>; [INV]
   else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
+    goto <bb 29>; [INV]
+
+  <bb 24> :
+  pxNewBlockLink_64 = pxBlock_42 + xWantedSize_41;
+  pxNewBlockLink.8_23 = (unsigned int) pxNewBlockLink_64;
+  _24 = pxNewBlockLink.8_23 & 7;
+  if (_24 != 0)
+    goto <bb 25>; [INV]
   else
-    goto <bb 18>; [33.00%]
+    goto <bb 28>; [INV]
 
-  <bb 16> [local count: 16818]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 25> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
+" : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
+
+  <bb 26> :
+
+  <bb 27> :
+  goto <bb 27>; [INV]
+
+  <bb 28> :
+  _25 = pxBlock_42->xBlockSize;
+  _26 = _25 - xWantedSize_41;
+  pxNewBlockLink_64->xBlockSize = _26;
+  pxBlock_42->xBlockSize = xWantedSize_41;
+  prvInsertBlockIntoFreeList (pxNewBlockLink_64);
+
+  <bb 29> :
+  xFreeBytesRemaining.9_27 = xFreeBytesRemaining;
+  _28 = pxBlock_42->xBlockSize;
+  _29 = xFreeBytesRemaining.9_27 - _28;
+  xFreeBytesRemaining = _29;
+  xFreeBytesRemaining.10_30 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining.11_31 = xMinimumEverFreeBytesRemaining;
+  if (xFreeBytesRemaining.10_30 < xMinimumEverFreeBytesRemaining.11_31)
+    goto <bb 30>; [INV]
   else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  xFreeBytesRemaining.12_32 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.12_32;
+
+  <bb 31> :
+  _33 = pxBlock_42->xBlockSize;
+  xBlockAllocatedBit.13_34 = xBlockAllocatedBit;
+  _35 = _33 | xBlockAllocatedBit.13_34;
+  pxBlock_42->xBlockSize = _35;
+  pxBlock_42->pxNextFreeBlock = 0B;
+  xNumberOfSuccessfulAllocations.14_36 = xNumberOfSuccessfulAllocations;
+  _37 = xNumberOfSuccessfulAllocations.14_36 + 1;
+  xNumberOfSuccessfulAllocations = _37;
+
+  <bb 32> :
+  # pvReturn_44 = PHI <pvReturn_49(4), pvReturn_49(17), pvReturn_49(16), pvReturn_49(22), pvReturn_62(31)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
+  pvReturn.15_38 = (unsigned int) pvReturn_44;
+  _39 = pvReturn.15_38 & 7;
+  if (_39 != 0)
+    goto <bb 33>; [INV]
   else
-    goto <bb 25>; [50.00%]
+    goto <bb 36>; [INV]
 
-  <bb 23> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 33> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
+" : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
+
+  <bb 34> :
+
+  <bb 35> :
+  goto <bb 35>; [INV]
+
+  <bb 36> :
+  _74 = pvReturn_44;
+
+  <bb 37> :
+<L43>:
+  return _74;
 
 }
 

File diff suppressed because it is too large
+ 375 - 412
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.068i.whole-program


+ 0 - 740
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.069i.profile_estimate

@@ -1,740 +0,0 @@
-Histogram:
-vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
-{
-  size_t xMinSize;
-  size_t xMaxSize;
-  size_t xBlocks;
-  struct BlockLink_t * pxBlock;
-  unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
-  else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
-  _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  return;
-
-}
-
-
-prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
-{
-  struct BlockLink_t * pxIterator;
-  struct A_BLOCK_LINK * _1;
-  unsigned int _2;
-  uint8_t * _3;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
-  else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
-  else
-    goto <bb 10>; [70.00%]
-
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
-  else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
-  else
-    goto <bb 13>; [30.00%]
-
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-prvHeapInit ()
-{
-  size_t xTotalHeapSize;
-  size_t uxAddress;
-  uint8_t * pucAlignedHeap;
-  unsigned int _1;
-  unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
-  if (_1 != 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
-  xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit = 2147483648;
-  return;
-
-}
-
-
-vPortInitialiseBlocks ()
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-xPortGetMinimumEverFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xMinimumEverFreeBytesRemaining;
-  return _2;
-
-}
-
-
-xPortGetFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xFreeBytesRemaining;
-  return _2;
-
-}
-
-
-vPortFree (void * pv)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
-  unsigned int _3;
-  struct A_BLOCK_LINK * _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
-  unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
-  unsigned int _11;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
-  else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 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_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
-  else
-    goto <bb 9>; [17.43%]
-
-  <bb 7> [local count: 88659]:
-  # 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_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-pvPortMalloc (size_t xWantedSize)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  void * pvReturn;
-  struct BlockLink_t * pxNewBlockLink;
-  struct BlockLink_t * pxPreviousBlock;
-  struct BlockLink_t * pxBlock;
-  struct BlockLink_t * pxEnd.0_1;
-  unsigned int xBlockAllocatedBit.1_2;
-  unsigned int _3;
-  unsigned int _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
-  unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
-  struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
-  unsigned int _19;
-  unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
-  unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxEnd.0_1 = pxEnd;
-  if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
-  else
-    goto <bb 4>; [82.57%]
-
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
-  prvHeapInit ();
-
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  if (_3 == 0)
-    goto <bb 5>; [83.25%]
-  else
-    goto <bb 22>; [16.75%]
-
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
-  else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
-  else
-    goto <bb 18>; [33.00%]
-
-  <bb 16> [local count: 16818]:
-  # 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_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 23> [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_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
-
-}
-
-

+ 0 - 789
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.070i.icf

@@ -1,789 +0,0 @@
-Parsed function:vPortGetHeapStats
-Parsed function:prvInsertBlockIntoFreeList
-Parsed function:prvHeapInit
-Parsed function:vPortInitialiseBlocks
-Parsed function:xPortGetMinimumEverFreeHeapSize
-Parsed function:xPortGetFreeHeapSize
-Parsed function:vPortFree
-Parsed function:pvPortMalloc
-Dump after hash based groups
-Congruence classes: 8 (unique hash values: 8), with total: 8 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 8 classes
-
-
-Dump after WPA based types groups
-Congruence classes: 8 (unique hash values: 8), with total: 8 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 8 classes
-
-
-Worklist has been filled with: 2
-Address reference subdivision created: 0 new classes.
-Dump after callgraph-based congruence reduction
-Congruence classes: 8 (unique hash values: 8), with total: 8 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 8 classes
-
-
-Init called for 0 items (0.00%).
-Dump after full equality comparison of groups
-Congruence classes: 8 (unique hash values: 8), with total: 8 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 8 classes
-
-
-Worklist has been filled with: 2
-Address reference subdivision created: 0 new classes.
-Congruence classes: 8 (unique hash values: 8), with total: 8 items
-Class size histogram [num of members]: number of classe number of classess
-[1]: 8 classes
-
-
-
-Item count: 8
-Congruent classes before: 8, after: 8
-Average class size before: 1.00, after: 1.00
-Average non-singular class size: 0.00, count: 0
-Equal symbols: 0
-Fraction of visited symbols: 0.00%
-
-vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
-{
-  size_t xMinSize;
-  size_t xMaxSize;
-  size_t xBlocks;
-  struct BlockLink_t * pxBlock;
-  unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
-  else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
-  _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  return;
-
-}
-
-
-prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
-{
-  struct BlockLink_t * pxIterator;
-  struct A_BLOCK_LINK * _1;
-  unsigned int _2;
-  uint8_t * _3;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
-  else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
-  else
-    goto <bb 10>; [70.00%]
-
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
-  else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
-  else
-    goto <bb 13>; [30.00%]
-
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-prvHeapInit ()
-{
-  size_t xTotalHeapSize;
-  size_t uxAddress;
-  uint8_t * pucAlignedHeap;
-  unsigned int _1;
-  unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
-  if (_1 != 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
-  xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit = 2147483648;
-  return;
-
-}
-
-
-vPortInitialiseBlocks ()
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-xPortGetMinimumEverFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xMinimumEverFreeBytesRemaining;
-  return _2;
-
-}
-
-
-xPortGetFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xFreeBytesRemaining;
-  return _2;
-
-}
-
-
-vPortFree (void * pv)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
-  unsigned int _3;
-  struct A_BLOCK_LINK * _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
-  unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
-  unsigned int _11;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
-  else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 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_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
-  else
-    goto <bb 9>; [17.43%]
-
-  <bb 7> [local count: 88659]:
-  # 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_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-pvPortMalloc (size_t xWantedSize)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  void * pvReturn;
-  struct BlockLink_t * pxNewBlockLink;
-  struct BlockLink_t * pxPreviousBlock;
-  struct BlockLink_t * pxBlock;
-  struct BlockLink_t * pxEnd.0_1;
-  unsigned int xBlockAllocatedBit.1_2;
-  unsigned int _3;
-  unsigned int _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
-  unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
-  struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
-  unsigned int _19;
-  unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
-  unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxEnd.0_1 = pxEnd;
-  if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
-  else
-    goto <bb 4>; [82.57%]
-
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
-  prvHeapInit ();
-
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  if (_3 == 0)
-    goto <bb 5>; [83.25%]
-  else
-    goto <bb 22>; [16.75%]
-
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
-  else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
-  else
-    goto <bb 18>; [33.00%]
-
-  <bb 16> [local count: 16818]:
-  # 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_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 23> [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_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
-
-}
-
-

+ 0 - 905
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.071i.devirt

@@ -1,905 +0,0 @@
-Symbol table:
-
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
-  Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (40362 (estimated locally),0.17 per call) 
-  Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)
-  Availability: available
-  Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: vPortFree/14 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: vPortFree/14 (write)pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (addr)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (addr)
-  Availability: available
-  Varpool flags:
-vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
-{
-  size_t xMinSize;
-  size_t xMaxSize;
-  size_t xBlocks;
-  struct BlockLink_t * pxBlock;
-  unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
-  else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
-  _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  return;
-
-}
-
-
-prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
-{
-  struct BlockLink_t * pxIterator;
-  struct A_BLOCK_LINK * _1;
-  unsigned int _2;
-  uint8_t * _3;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
-  else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
-  else
-    goto <bb 10>; [70.00%]
-
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
-  else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
-  else
-    goto <bb 13>; [30.00%]
-
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-prvHeapInit ()
-{
-  size_t xTotalHeapSize;
-  size_t uxAddress;
-  uint8_t * pucAlignedHeap;
-  unsigned int _1;
-  unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
-  if (_1 != 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
-  xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit = 2147483648;
-  return;
-
-}
-
-
-vPortInitialiseBlocks ()
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-xPortGetMinimumEverFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xMinimumEverFreeBytesRemaining;
-  return _2;
-
-}
-
-
-xPortGetFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xFreeBytesRemaining;
-  return _2;
-
-}
-
-
-vPortFree (void * pv)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
-  unsigned int _3;
-  struct A_BLOCK_LINK * _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
-  unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
-  unsigned int _11;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
-  else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 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_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
-  else
-    goto <bb 9>; [17.43%]
-
-  <bb 7> [local count: 88659]:
-  # 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_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-pvPortMalloc (size_t xWantedSize)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  void * pvReturn;
-  struct BlockLink_t * pxNewBlockLink;
-  struct BlockLink_t * pxPreviousBlock;
-  struct BlockLink_t * pxBlock;
-  struct BlockLink_t * pxEnd.0_1;
-  unsigned int xBlockAllocatedBit.1_2;
-  unsigned int _3;
-  unsigned int _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
-  unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
-  struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
-  unsigned int _19;
-  unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
-  unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxEnd.0_1 = pxEnd;
-  if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
-  else
-    goto <bb 4>; [82.57%]
-
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
-  prvHeapInit ();
-
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  if (_3 == 0)
-    goto <bb 5>; [83.25%]
-  else
-    goto <bb 22>; [16.75%]
-
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
-  else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
-  else
-    goto <bb 18>; [33.00%]
-
-  <bb 16> [local count: 16818]:
-  # 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_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 23> [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_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
-
-}
-
-

+ 0 - 938
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.072i.cp

@@ -1,938 +0,0 @@
-
-IPA constant propagation start:
-Determining dynamic type for call: prvInsertBlockIntoFreeList (puc_15);
-  Starting walk at: prvInsertBlockIntoFreeList (puc_15);
-  instance pointer: puc_15  Outer instance pointer: puc_15 offset: 0 (bits) vtbl reference: 
-  Function call may change dynamic type:vTaskSuspendAll ();
-Determining dynamic type for call: prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-  Starting walk at: prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-  instance pointer: pxNewBlockLink_44  Outer instance pointer: pxNewBlockLink_44 offset: 0 (bits) vtbl reference: 
-  Function call may change dynamic type:vTaskSuspendAll ();
-  Function call may change dynamic type:prvHeapInit ();
-
-IPA structures before propagation:
-
-Jump functions:
-  Jump functions of caller  vPortExitCritical/24:
-  Jump functions of caller  vPortEnterCritical/23:
-  Jump functions of caller  xTaskResumeAll/22:
-  Jump functions of caller  vTaskSuspendAll/21:
-  Jump functions of caller  vPortGetHeapStats/20:
-  Jump functions of caller  prvInsertBlockIntoFreeList/19:
-  Jump functions of caller  prvHeapInit/18:
-  Jump functions of caller  vPortInitialiseBlocks/17:
-  Jump functions of caller  xPortGetMinimumEverFreeHeapSize/16:
-  Jump functions of caller  xPortGetFreeHeapSize/15:
-  Jump functions of caller  vPortFree/14:
-    callsite  vPortFree/14 -> prvInsertBlockIntoFreeList/19 : 
-       param 0: PASS THROUGH: 0, op pointer_plus_expr 4294967288
-         value: 0x0, mask: 0xffffffff
-         VR  ~[0, 0]
-  Jump functions of caller  pvPortMalloc/13:
-    callsite  pvPortMalloc/13 -> prvInsertBlockIntoFreeList/19 : 
-       param 0: UNKNOWN
-         value: 0x0, mask: 0xffffffff
-         VR  ~[0, 0]
-    callsite  pvPortMalloc/13 -> prvHeapInit/18 : 
-
- Propagating constants:
-
-Not considering vPortGetHeapStats for cloning; -fipa-cp-clone disabled.
-Not considering vPortInitialiseBlocks for cloning; -fipa-cp-clone disabled.
-Not considering xPortGetMinimumEverFreeHeapSize for cloning; -fipa-cp-clone disabled.
-Not considering xPortGetFreeHeapSize for cloning; -fipa-cp-clone disabled.
-Not considering vPortFree for cloning; -fipa-cp-clone disabled.
-Not considering pvPortMalloc for cloning; -fipa-cp-clone disabled.
-
-overall_size: 203, max_new_size: 11001
-
-IPA lattices after all propagation:
-
-Lattices:
-  Node: vPortGetHeapStats/20:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: prvInsertBlockIntoFreeList/19:
-    param [0]: VARIABLE
-         ctxs: VARIABLE
-         Bits unusable (BOTTOM)
-         struct BlockLink_t * ~[0B, 0B]
-        AGGS VARIABLE
-  Node: prvHeapInit/18:
-  Node: vPortInitialiseBlocks/17:
-  Node: xPortGetMinimumEverFreeHeapSize/16:
-  Node: xPortGetFreeHeapSize/15:
-  Node: vPortFree/14:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-  Node: pvPortMalloc/13:
-    param [0]: BOTTOM
-         ctxs: BOTTOM
-         Bits unusable (BOTTOM)
-         VARYING
-        AGGS BOTTOM
-
-IPA decision stage:
-
-
-IPA constant propagation end
-
-Reclaiming functions:
-Reclaiming variables:
-Clearing address taken flags:
-Symbol table:
-
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
-  Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Availability: local
-  Function flags: count:1073741824 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (40362 (estimated locally),0.17 per call) 
-  Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-xBlockAllocatedBit/12 (xBlockAllocatedBit) @06bdd678
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (read)pvPortMalloc/13 (read)prvHeapInit/18 (write)vPortFree/14 (read)
-  Availability: available
-  Varpool flags: initialized
-xNumberOfSuccessfulFrees/11 (xNumberOfSuccessfulFrees) @06bdd5e8
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: vPortFree/14 (write)vPortFree/14 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xNumberOfSuccessfulAllocations/10 (xNumberOfSuccessfulAllocations) @06bdd5a0
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xMinimumEverFreeBytesRemaining/9 (xMinimumEverFreeBytesRemaining) @06bdd558
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (write)xPortGetMinimumEverFreeHeapSize/16 (read)pvPortMalloc/13 (write)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xFreeBytesRemaining/8 (xFreeBytesRemaining) @06bdd510
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: vPortFree/14 (write)pvPortMalloc/13 (read)prvHeapInit/18 (write)pvPortMalloc/13 (write)xPortGetFreeHeapSize/15 (read)pvPortMalloc/13 (read)vPortFree/14 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-pxEnd/7 (pxEnd) @06bdd480
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: pvPortMalloc/13 (read)prvHeapInit/18 (write)prvInsertBlockIntoFreeList/19 (read)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags: initialized
-xStart/6 (xStart) @06bdd3f0
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (write)prvHeapInit/18 (write)pvPortMalloc/13 (addr)prvInsertBlockIntoFreeList/19 (addr)pvPortMalloc/13 (read)vPortGetHeapStats/20 (read)
-  Availability: available
-  Varpool flags:
-ucHeap/4 (ucHeap) @06bdd120
-  Type: variable definition analyzed
-  Visibility: prevailing_def_ironly
-  References: 
-  Referring: prvHeapInit/18 (addr)
-  Availability: available
-  Varpool flags:
-
-;; Function prvInsertBlockIntoFreeList (prvInsertBlockIntoFreeList, funcdef_no=10, decl_uid=6217, cgraph_uid=11, symbol_order=19)
-
-Modification phase of node prvInsertBlockIntoFreeList/19
-Setting nonnull for 0
-prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
-{
-  struct BlockLink_t * pxIterator;
-  struct A_BLOCK_LINK * _1;
-  unsigned int _2;
-  uint8_t * _3;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
-  else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
-  else
-    goto <bb 10>; [70.00%]
-
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
-  else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
-  else
-    goto <bb 13>; [30.00%]
-
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-
-;; Function pvPortMalloc (pvPortMalloc, funcdef_no=4, decl_uid=5892, cgraph_uid=5, symbol_order=13)
-
-Modification phase of node pvPortMalloc/13
-pvPortMalloc (size_t xWantedSize)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  void * pvReturn;
-  struct BlockLink_t * pxNewBlockLink;
-  struct BlockLink_t * pxPreviousBlock;
-  struct BlockLink_t * pxBlock;
-  struct BlockLink_t * pxEnd.0_1;
-  unsigned int xBlockAllocatedBit.1_2;
-  unsigned int _3;
-  unsigned int _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
-  unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
-  struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
-  unsigned int _19;
-  unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
-  unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxEnd.0_1 = pxEnd;
-  if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
-  else
-    goto <bb 4>; [82.57%]
-
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
-  prvHeapInit ();
-
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  if (_3 == 0)
-    goto <bb 5>; [83.25%]
-  else
-    goto <bb 22>; [16.75%]
-
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
-  else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
-  else
-    goto <bb 18>; [33.00%]
-
-  <bb 16> [local count: 16818]:
-  # 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_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 23> [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_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
-
-}
-
-
-
-;; Function vPortFree (vPortFree, funcdef_no=5, decl_uid=5894, cgraph_uid=6, symbol_order=14)
-
-Modification phase of node vPortFree/14
-vPortFree (void * pv)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
-  unsigned int _3;
-  struct A_BLOCK_LINK * _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
-  unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
-  unsigned int _11;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
-  else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 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_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
-  else
-    goto <bb 9>; [17.43%]
-
-  <bb 7> [local count: 88659]:
-  # 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_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-
-;; Function xPortGetFreeHeapSize (xPortGetFreeHeapSize, funcdef_no=6, decl_uid=5898, cgraph_uid=7, symbol_order=15)
-
-Modification phase of node xPortGetFreeHeapSize/15
-xPortGetFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xFreeBytesRemaining;
-  return _2;
-
-}
-
-
-
-;; Function xPortGetMinimumEverFreeHeapSize (xPortGetMinimumEverFreeHeapSize, funcdef_no=7, decl_uid=5900, cgraph_uid=8, symbol_order=16)
-
-Modification phase of node xPortGetMinimumEverFreeHeapSize/16
-xPortGetMinimumEverFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xMinimumEverFreeBytesRemaining;
-  return _2;
-
-}
-
-
-
-;; Function vPortInitialiseBlocks (vPortInitialiseBlocks, funcdef_no=8, decl_uid=5896, cgraph_uid=9, symbol_order=17)
-
-Modification phase of node vPortInitialiseBlocks/17
-vPortInitialiseBlocks ()
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-
-;; Function vPortGetHeapStats (vPortGetHeapStats, funcdef_no=11, decl_uid=5890, cgraph_uid=12, symbol_order=20)
-
-Modification phase of node vPortGetHeapStats/20
-vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
-{
-  size_t xMinSize;
-  size_t xMaxSize;
-  size_t xBlocks;
-  struct BlockLink_t * pxBlock;
-  unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
-  else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
-  _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  return;
-
-}
-
-

File diff suppressed because it is too large
+ 279 - 613
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.075i.fnsummary


File diff suppressed because it is too large
+ 318 - 783
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.076i.inline


+ 0 - 1428
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.077i.pure-const

@@ -1,1428 +0,0 @@
-
-
- local analysis of vPortGetHeapStats
-   scanning: vTaskSuspendAll ();
-  scanning: pxBlock_17 = xStart.pxNextFreeBlock;
-  scanning: if (pxBlock_17 != 0B)
-  scanning: xBlocks_18 = xBlocks_9 + 1;
-  scanning: _1 = pxBlock_8->xBlockSize;
-    Indirect ref read is not const
-  scanning: xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  scanning: xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  scanning: pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: pxEnd.26_3 = pxEnd;
-  scanning: if (pxEnd.26_3 != pxBlock_20)
-  scanning: xTaskResumeAll ();
-  scanning: pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-    Indirect ref write is not const/pure
-  scanning: pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-    Indirect ref write is not const/pure
-  scanning: pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-    Indirect ref write is not const/pure
-  scanning: vPortEnterCritical ();
-  scanning: xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  scanning: pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-    Indirect ref write is not const/pure
-  scanning: xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  scanning: pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-    Indirect ref write is not const/pure
-  scanning: xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  scanning: pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-    Indirect ref write is not const/pure
-  scanning: xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  scanning: pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-    Indirect ref write is not const/pure
-  scanning: vPortExitCritical ();
-  scanning: return;
-
-
- local analysis of prvInsertBlockIntoFreeList
-   scanning: _1 = pxIterator_14->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: if (_1 < pxBlockToInsert_19(D))
-  scanning: _2 = pxIterator_4->xBlockSize;
-    Indirect ref read is not const
-  scanning: _3 = pxIterator_4 + _2;
-  scanning: if (_3 == pxBlockToInsert_19(D))
-  scanning: _5 = pxBlockToInsert_19(D)->xBlockSize;
-    Indirect ref read is not const
-  scanning: _6 = _2 + _5;
-  scanning: pxIterator_4->xBlockSize = _6;
-    Indirect ref write is not const/pure
-  scanning: _7 = pxBlockToInsert_13->xBlockSize;
-    Indirect ref read is not const
-  scanning: _8 = pxBlockToInsert_13 + _7;
-  scanning: if (_8 == _20)
-  scanning: pxEnd.19_9 = pxEnd;
-  scanning: if (pxEnd.19_9 != _20)
-  scanning: _10 = _20->xBlockSize;
-    Indirect ref read is not const
-  scanning: _11 = _7 + _10;
-  scanning: pxBlockToInsert_13->xBlockSize = _11;
-    Indirect ref write is not const/pure
-  scanning: _12 = _20->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: pxBlockToInsert_13->pxNextFreeBlock = _12;
-    Indirect ref write is not const/pure
-  scanning: pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-    Indirect ref write is not const/pure
-  scanning: pxBlockToInsert_13->pxNextFreeBlock = _20;
-    Indirect ref write is not const/pure
-  scanning: if (pxIterator_4 != pxBlockToInsert_13)
-  scanning: pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-    Indirect ref write is not const/pure
-  scanning: return;
-
-
- local analysis of prvHeapInit
-   scanning: uxAddress_7 = (size_t) &ucHeap;
-  scanning: _1 = uxAddress_7 & 7;
-  scanning: if (_1 != 0)
-  scanning: uxAddress_8 = uxAddress_7 + 7;
-  scanning: uxAddress_9 = uxAddress_8 & 4294967288;
-  scanning: _2 = 8192 - uxAddress_9;
-  scanning: xTotalHeapSize_10 = _2 + uxAddress_7;
-  scanning: pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  scanning: xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  scanning: xStart.xBlockSize = 0;
-  scanning: uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  scanning: uxAddress_16 = uxAddress_15 + 4294967288;
-  scanning: uxAddress_17 = uxAddress_16 & 4294967288;
-  scanning: uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  scanning: pxEnd = uxAddress.14_3;
-  scanning: uxAddress.14_3->xBlockSize = 0;
-    Indirect ref write is not const/pure
-  scanning: uxAddress.14_3->pxNextFreeBlock = 0B;
-    Indirect ref write is not const/pure
-  scanning: _4 = uxAddress_17 - uxAddress_5;
-  scanning: MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-    Indirect ref write is not const/pure
-  scanning: MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-    Indirect ref write is not const/pure
-  scanning: xMinimumEverFreeBytesRemaining = _4;
-  scanning: xFreeBytesRemaining = _4;
-  scanning: xBlockAllocatedBit = 2147483648;
-  scanning: return;
-
-
- local analysis of vPortInitialiseBlocks
-   scanning: return;
-Function is locally const.
-
-
- local analysis of xPortGetMinimumEverFreeHeapSize
-   scanning: _2 = xMinimumEverFreeBytesRemaining;
-  scanning: return _2;
-Function is locally const.
-
-
- local analysis of xPortGetFreeHeapSize
-   scanning: _2 = xFreeBytesRemaining;
-  scanning: return _2;
-Function is locally const.
-
-
- local analysis of vPortFree
-   scanning: if (pv_13(D) != 0B)
-  scanning: puc_15 = pv_13(D) + 4294967288;
-  scanning: _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-    Indirect ref read is not const
-  scanning: xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  scanning: _3 = _1 & xBlockAllocatedBit.21_2;
-  scanning: if (_3 == 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: if (_4 != 0B)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: _5 = ~xBlockAllocatedBit.21_2;
-  scanning: _6 = _1 & _5;
-  scanning: MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-    Indirect ref write is not const/pure
-  scanning: vTaskSuspendAll ();
-  scanning: _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-    Indirect ref read is not const
-  scanning: xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  scanning: _9 = _7 + xFreeBytesRemaining.24_8;
-  scanning: xFreeBytesRemaining = _9;
-  scanning: prvInsertBlockIntoFreeList (puc_15);
-  scanning: xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  scanning: _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  scanning: xNumberOfSuccessfulFrees = _11;
-  scanning: xTaskResumeAll ();
-  scanning: return;
-Function is locally looping.
-Function can locally free.
-
-
- local analysis of pvPortMalloc
-   scanning: vTaskSuspendAll ();
-  scanning: pxEnd.0_1 = pxEnd;
-  scanning: if (pxEnd.0_1 == 0B)
-  scanning: prvHeapInit ();
-  scanning: xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  scanning: _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  scanning: if (_3 == 0)
-  scanning: _4 = xWantedSize_39(D) + 4294967295;
-  scanning: if (_4 <= 4294967286)
-  scanning: xWantedSize_40 = xWantedSize_39(D) + 8;
-  scanning: _5 = xWantedSize_40 & 7;
-  scanning: if (_5 != 0)
-  scanning: _6 = xWantedSize_40 & 4294967288;
-  scanning: _7 = _6 + 8;
-  scanning: if (_7 > xWantedSize_40)
-  scanning: if (xWantedSize_28 != 0)
-  scanning: xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  scanning: if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-  scanning: pxBlock_41 = xStart.pxNextFreeBlock;
-  scanning: _10 = pxBlock_29->xBlockSize;
-    Indirect ref read is not const
-  scanning: if (_10 < xWantedSize_28)
-  scanning: _11 = pxBlock_29->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: if (_11 != 0B)
-  scanning: pxEnd.3_12 = pxEnd;
-  scanning: if (pxEnd.3_12 != pxBlock_54)
-  scanning: _13 = pxPreviousBlock_8->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: pvReturn_42 = _13 + 8;
-  scanning: _14 = pxBlock_54->pxNextFreeBlock;
-    Indirect ref read is not const
-  scanning: pxPreviousBlock_8->pxNextFreeBlock = _14;
-    Indirect ref write is not const/pure
-  scanning: _15 = _57 - xWantedSize_28;
-  scanning: if (_15 > 16)
-  scanning: pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  scanning: pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  scanning: _17 = pxNewBlockLink.4_16 & 7;
-  scanning: if (_17 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: pxNewBlockLink_44->xBlockSize = _15;
-    Indirect ref write is not const/pure
-  scanning: pxBlock_54->xBlockSize = xWantedSize_28;
-    Indirect ref write is not const/pure
-  scanning: prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-  scanning: xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  scanning: _19 = pxBlock_54->xBlockSize;
-    Indirect ref read is not const
-  scanning: _20 = xFreeBytesRemaining.5_18 - _19;
-  scanning: xFreeBytesRemaining = _20;
-  scanning: xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  scanning: if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-  scanning: xMinimumEverFreeBytesRemaining = _20;
-  scanning: xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  scanning: _23 = _19 | xBlockAllocatedBit.9_22;
-  scanning: pxBlock_54->xBlockSize = _23;
-    Indirect ref write is not const/pure
-  scanning: pxBlock_54->pxNextFreeBlock = 0B;
-    Indirect ref write is not const/pure
-  scanning: xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  scanning: _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  scanning: xNumberOfSuccessfulAllocations = _25;
-  scanning: xTaskResumeAll ();
-  scanning: pvReturn.11_26 = (unsigned int) pvReturn_31;
-  scanning: _27 = pvReturn.11_26 & 7;
-  scanning: if (_27 != 0)
-  scanning: __asm__ __volatile__("	mov %0, %1												
-	msr basepri, %0											
-	isb														
-	dsb														
-" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
-    memory asm clobber is not const/pure
-    volatile is not const/pure
-  scanning: return pvReturn_31;
-Function is locally looping.
-Function can locally free.
-callgraph:
-
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
-  Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067652a8
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765308
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765348
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Function prvHeapInit/18 is inline copy in pvPortMalloc/13
-  Availability: local
-  Function flags: count:40362 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (inlined) (40362 (estimated locally),0.17 per call) 
-  Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765048
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06764fa8
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765388
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765508
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067655e8
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (inlined) (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-
-
- ordered call graph: reduced for nothrow
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067652a8
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765308
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765348
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Function prvHeapInit/18 is inline copy in pvPortMalloc/13
-  Availability: local
-  Function flags: count:40362 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (inlined) (40362 (estimated locally),0.17 per call) 
-  Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765048
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06764fa8
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765388
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765508
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067655e8
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (inlined) (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-
-
-
-MALLOC LATTICE Initial:
-vPortGetHeapStats: malloc_bottom
-prvInsertBlockIntoFreeList: malloc_bottom
-prvHeapInit: malloc_bottom
-vPortInitialiseBlocks: malloc_bottom
-xPortGetMinimumEverFreeHeapSize: malloc_bottom
-xPortGetFreeHeapSize: malloc_bottom
-vPortFree: malloc_bottom
-pvPortMalloc: malloc_bottom
-
-
-MALLOC LATTICE after propagation:
-vPortGetHeapStats: malloc_bottom
-prvInsertBlockIntoFreeList: malloc_bottom
-prvHeapInit: malloc_bottom
-vPortInitialiseBlocks: malloc_bottom
-xPortGetMinimumEverFreeHeapSize: malloc_bottom
-xPortGetFreeHeapSize: malloc_bottom
-vPortFree: malloc_bottom
-pvPortMalloc: malloc_bottom
-callgraph:
-
-vPortExitCritical/24 (vPortExitCritical) @06ba3e00
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-vPortEnterCritical/23 (vPortEnterCritical) @06ba3c40
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) 
-  Calls: 
-xTaskResumeAll/22 (xTaskResumeAll) @06ba32a0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730858 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (214748 (estimated locally),0.93 per call) 
-  Calls: 
-vTaskSuspendAll/21 (vTaskSuspendAll) @06ba30e0
-  Type: function
-  Visibility: external public
-  References: 
-  Referring: 
-  Availability: not_available
-  Function flags: optimize_size
-  Called by: vPortGetHeapStats/20 (168730857 (estimated locally),1.00 per call) vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (231566 (estimated locally),1.00 per call) 
-  Calls: 
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765388
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765528
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765468
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Function prvHeapInit/18 is inline copy in pvPortMalloc/13
-  Availability: local
-  Function flags: count:40362 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (inlined) (40362 (estimated locally),0.17 per call) 
-  Calls: 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067654a8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765508
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765548
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067655e8
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067652a8
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (inlined) (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-
-
- ordered call graph: reduced
-vPortGetHeapStats/20 (vPortGetHeapStats) @06b950e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765388
-  References: xStart/6 (read)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulFrees/11 (read)xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:168730857 (estimated locally) body optimize_size
-  Called by: 
-  Calls: vPortExitCritical/24 (168730858 (estimated locally),1.00 per call) vPortEnterCritical/23 (168730858 (estimated locally),1.00 per call) xTaskResumeAll/22 (168730858 (estimated locally),1.00 per call) vTaskSuspendAll/21 (168730857 (estimated locally),1.00 per call) 
-vPortInitialiseBlocks/17 (vPortInitialiseBlocks) @06b957e0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067654a8
-  References: 
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetMinimumEverFreeHeapSize/16 (xPortGetMinimumEverFreeHeapSize) @06b95540
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765508
-  References: xMinimumEverFreeBytesRemaining/9 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-xPortGetFreeHeapSize/15 (xPortGetFreeHeapSize) @06b952a0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @06765548
-  References: xFreeBytesRemaining/8 (read)
-  Referring: 
-  Availability: available
-  Function flags: count:1073741824 (estimated locally) body optimize_size
-  Called by: 
-  Calls: 
-vPortFree/14 (vPortFree) @06b95000
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067655e8
-  References: xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xNumberOfSuccessfulFrees/11 (read)xNumberOfSuccessfulFrees/11 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:306783 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (18715 (estimated locally),0.06 per call) prvInsertBlockIntoFreeList/19 (18715 (estimated locally),0.06 per call) vTaskSuspendAll/21 (18715 (estimated locally),0.06 per call) 
-pvPortMalloc/13 (pvPortMalloc) @06b8dee0
-  Type: function definition analyzed
-  Visibility: externally_visible public
-  Aux: @067652a8
-  References: pxEnd/7 (read)xBlockAllocatedBit/12 (read)xFreeBytesRemaining/8 (read)xStart/6 (read)xStart/6 (addr)pxEnd/7 (read)xFreeBytesRemaining/8 (read)xFreeBytesRemaining/8 (write)xMinimumEverFreeBytesRemaining/9 (read)xMinimumEverFreeBytesRemaining/9 (write)xBlockAllocatedBit/12 (read)xNumberOfSuccessfulAllocations/10 (read)xNumberOfSuccessfulAllocations/10 (write)
-  Referring: 
-  Availability: available
-  Function flags: count:231566 (estimated locally) body optimize_size
-  Called by: 
-  Calls: xTaskResumeAll/22 (214748 (estimated locally),0.93 per call) prvInsertBlockIntoFreeList/19 (8283 (estimated locally),0.04 per call) prvHeapInit/18 (inlined) (40362 (estimated locally),0.17 per call) vTaskSuspendAll/21 (231566 (estimated locally),1.00 per call) 
-prvHeapInit/18 (prvHeapInit) @06b95a80
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765468
-  References: ucHeap/4 (addr)xStart/6 (write)xStart/6 (write)pxEnd/7 (write)xMinimumEverFreeBytesRemaining/9 (write)xFreeBytesRemaining/8 (write)xBlockAllocatedBit/12 (write)
-  Referring: 
-  Function prvHeapInit/18 is inline copy in pvPortMalloc/13
-  Availability: local
-  Function flags: count:40362 (estimated locally) body local optimize_size
-  Called by: pvPortMalloc/13 (inlined) (40362 (estimated locally),0.17 per call) 
-  Calls: 
-prvInsertBlockIntoFreeList/19 (prvInsertBlockIntoFreeList) @06b95d20
-  Type: function definition analyzed
-  Visibility: prevailing_def_ironly
-  Aux: @06765528
-  References: xStart/6 (addr)pxEnd/7 (read)
-  Referring: 
-  Availability: local
-  Function flags: count:118111600 (estimated locally) body local optimize_size
-  Called by: vPortFree/14 (18715 (estimated locally),0.06 per call) pvPortMalloc/13 (8283 (estimated locally),0.04 per call) 
-  Calls: 
-
-Function found not to call free: prvInsertBlockIntoFreeList
-Function found not to call free: prvHeapInit
-Function found not to call free: xPortGetFreeHeapSize
-Function found not to call free: xPortGetMinimumEverFreeHeapSize
-Function found not to call free: vPortInitialiseBlocks
-vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
-{
-  size_t xMinSize;
-  size_t xMaxSize;
-  size_t xBlocks;
-  struct BlockLink_t * pxBlock;
-  unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
-  else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
-  _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
-  vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
-  vPortExitCritical ();
-  return;
-
-}
-
-
-prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
-{
-  struct BlockLink_t * pxIterator;
-  struct A_BLOCK_LINK * _1;
-  unsigned int _2;
-  uint8_t * _3;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
-  else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
-  else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
-  else
-    goto <bb 10>; [70.00%]
-
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
-  else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
-  else
-    goto <bb 13>; [30.00%]
-
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
-
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-prvHeapInit ()
-{
-  size_t xTotalHeapSize;
-  size_t uxAddress;
-  uint8_t * pucAlignedHeap;
-  unsigned int _1;
-  unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
-  if (_1 != 0)
-    goto <bb 3>; [50.00%]
-  else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
-  xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit = 2147483648;
-  return;
-
-}
-
-
-vPortInitialiseBlocks ()
-{
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-xPortGetMinimumEverFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xMinimumEverFreeBytesRemaining;
-  return _2;
-
-}
-
-
-xPortGetFreeHeapSize ()
-{
-  size_t _2;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  _2 = xFreeBytesRemaining;
-  return _2;
-
-}
-
-
-vPortFree (void * pv)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
-  unsigned int _3;
-  struct A_BLOCK_LINK * _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
-  unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
-  unsigned int _11;
-
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
-  else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 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_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
-  else
-    goto <bb 9>; [17.43%]
-
-  <bb 7> [local count: 88659]:
-  # 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_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
-  return;
-
-}
-
-
-pvPortMalloc (size_t xWantedSize)
-{
-  uint32_t ulNewBASEPRI;
-  uint32_t ulNewBASEPRI;
-  void * pvReturn;
-  struct BlockLink_t * pxNewBlockLink;
-  struct BlockLink_t * pxPreviousBlock;
-  struct BlockLink_t * pxBlock;
-  struct BlockLink_t * pxEnd.0_1;
-  unsigned int xBlockAllocatedBit.1_2;
-  unsigned int _3;
-  unsigned int _4;
-  unsigned int _5;
-  unsigned int _6;
-  unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
-  unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
-  struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
-  unsigned int _19;
-  unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
-  unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
-  vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxEnd.0_1 = pxEnd;
-  if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
-  else
-    goto <bb 4>; [82.57%]
-
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
-  prvHeapInit ();
-
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
-  if (_3 == 0)
-    goto <bb 5>; [83.25%]
-  else
-    goto <bb 22>; [16.75%]
-
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
-  else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
-  else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
-  else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
-  else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
-  else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
-  else
-    goto <bb 18>; [33.00%]
-
-  <bb 16> [local count: 16818]:
-  # 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_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
-  else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
-  else
-    goto <bb 25>; [50.00%]
-
-  <bb 23> [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_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
-
-}
-
-

+ 520 - 564
Debug_FLASH/FreeRTOS/Source/portable/MemMang/heap_4.c.078i.free-fnsummary2

@@ -5,94 +5,76 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
   size_t xBlocks;
   struct BlockLink_t * pxBlock;
   unsigned int _1;
-  struct BlockLink_t * pxEnd.26_3;
-  unsigned int xFreeBytesRemaining.27_4;
-  unsigned int xNumberOfSuccessfulAllocations.28_5;
-  unsigned int xNumberOfSuccessfulFrees.29_6;
-  unsigned int xMinimumEverFreeBytesRemaining.30_7;
-
-  <bb 2> [local count: 168730857]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xBlocks => 0
-  # DEBUG xMaxSize => 0
-  # DEBUG xMinSize => 4294967295
-  # DEBUG BEGIN_STMT
+  unsigned int _2;
+  struct BlockLink_t * pxEnd.32_3;
+  unsigned int xFreeBytesRemaining.33_4;
+  unsigned int xNumberOfSuccessfulAllocations.34_5;
+  unsigned int xNumberOfSuccessfulFrees.35_6;
+  unsigned int xMinimumEverFreeBytesRemaining.36_7;
+
+  <bb 2> :
+  xBlocks_17 = 0;
+  xMaxSize_18 = 0;
+  xMinSize_19 = 4294967295;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  pxBlock_17 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_17
-  # DEBUG BEGIN_STMT
-  if (pxBlock_17 != 0B)
-    goto <bb 5>; [70.00%]
+  pxBlock_22 = xStart.pxNextFreeBlock;
+  if (pxBlock_22 != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [30.00%]
-
-  <bb 5> [local count: 118111600]:
-
-  <bb 3> [local count: 1073741824]:
-  # pxBlock_8 = PHI <pxBlock_17(5), pxBlock_20(6)>
-  # xBlocks_9 = PHI <0(5), xBlocks_18(6)>
-  # xMaxSize_11 = PHI <0(5), xMaxSize_2(6)>
-  # xMinSize_13 = PHI <4294967295(5), xMinSize_19(6)>
-  # DEBUG xMinSize => xMinSize_13
-  # DEBUG xMaxSize => xMaxSize_11
-  # DEBUG xBlocks => xBlocks_9
-  # DEBUG pxBlock => pxBlock_8
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlocks_18 = xBlocks_9 + 1;
-  # DEBUG xBlocks => xBlocks_18
-  # DEBUG BEGIN_STMT
+    goto <bb 8>; [INV]
+
+  <bb 3> :
+  # pxBlock_8 = PHI <pxBlock_22(2), pxBlock_26(7)>
+  # xBlocks_9 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_11 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_14 = PHI <xMinSize_19(2), xMinSize_15(7)>
+  xBlocks_23 = xBlocks_9 + 1;
   _1 = pxBlock_8->xBlockSize;
-  xMaxSize_2 = MAX_EXPR <_1, xMaxSize_11>;
-  # DEBUG xMaxSize => xMaxSize_2
-  # DEBUG BEGIN_STMT
-  xMinSize_19 = MIN_EXPR <_1, xMinSize_13>;
-  # DEBUG xMinSize => xMinSize_19
-  # DEBUG BEGIN_STMT
-  pxBlock_20 = pxBlock_8->pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_20
-  # DEBUG BEGIN_STMT
-  pxEnd.26_3 = pxEnd;
-  if (pxEnd.26_3 != pxBlock_20)
-    goto <bb 6>; [89.00%]
+  if (xMaxSize_11 < _1)
+    goto <bb 4>; [INV]
+  else
+    goto <bb 5>; [INV]
+
+  <bb 4> :
+  xMaxSize_24 = pxBlock_8->xBlockSize;
+
+  <bb 5> :
+  # xMaxSize_12 = PHI <xMaxSize_11(3), xMaxSize_24(4)>
+  _2 = pxBlock_8->xBlockSize;
+  if (xMinSize_14 > _2)
+    goto <bb 6>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 6> [local count: 955630225]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 168730858]:
-  # xBlocks_10 = PHI <0(2), xBlocks_18(3)>
-  # xMaxSize_12 = PHI <0(2), xMaxSize_2(3)>
-  # xMinSize_14 = PHI <4294967295(2), xMinSize_19(3)>
-  # DEBUG xMinSize => xMinSize_14
-  # DEBUG xMaxSize => xMaxSize_12
-  # DEBUG xBlocks => xBlocks_10
-  # DEBUG BEGIN_STMT
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  xMinSize_25 = pxBlock_8->xBlockSize;
+
+  <bb 7> :
+  # xMinSize_15 = PHI <xMinSize_14(5), xMinSize_25(6)>
+  pxBlock_26 = pxBlock_8->pxNextFreeBlock;
+  pxEnd.32_3 = pxEnd;
+  if (pxBlock_26 != pxEnd.32_3)
+    goto <bb 3>; [INV]
+  else
+    goto <bb 8>; [INV]
+
+  <bb 8> :
+  # xBlocks_10 = PHI <xBlocks_17(2), xBlocks_23(7)>
+  # xMaxSize_13 = PHI <xMaxSize_18(2), xMaxSize_12(7)>
+  # xMinSize_16 = PHI <xMinSize_19(2), xMinSize_15(7)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_12;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_14;
-  # DEBUG BEGIN_STMT
-  pxHeapStats_22(D)->xNumberOfFreeBlocks = xBlocks_10;
-  # DEBUG BEGIN_STMT
+  pxHeapStats_28(D)->xSizeOfLargestFreeBlockInBytes = xMaxSize_13;
+  pxHeapStats_28(D)->xSizeOfSmallestFreeBlockInBytes = xMinSize_16;
+  pxHeapStats_28(D)->xNumberOfFreeBlocks = xBlocks_10;
   vPortEnterCritical ();
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.27_4 = xFreeBytesRemaining;
-  pxHeapStats_22(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.27_4;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.28_5 = xNumberOfSuccessfulAllocations;
-  pxHeapStats_22(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.28_5;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.29_6 = xNumberOfSuccessfulFrees;
-  pxHeapStats_22(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.29_6;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.30_7 = xMinimumEverFreeBytesRemaining;
-  pxHeapStats_22(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.30_7;
-  # DEBUG BEGIN_STMT
+  xFreeBytesRemaining.33_4 = xFreeBytesRemaining;
+  pxHeapStats_28(D)->xAvailableHeapSpaceInBytes = xFreeBytesRemaining.33_4;
+  xNumberOfSuccessfulAllocations.34_5 = xNumberOfSuccessfulAllocations;
+  pxHeapStats_28(D)->xNumberOfSuccessfulAllocations = xNumberOfSuccessfulAllocations.34_5;
+  xNumberOfSuccessfulFrees.35_6 = xNumberOfSuccessfulFrees;
+  pxHeapStats_28(D)->xNumberOfSuccessfulFrees = xNumberOfSuccessfulFrees.35_6;
+  xMinimumEverFreeBytesRemaining.36_7 = xMinimumEverFreeBytesRemaining;
+  pxHeapStats_28(D)->xMinimumEverFreeBytesRemaining = xMinimumEverFreeBytesRemaining.36_7;
   vPortExitCritical ();
   return;
 
@@ -101,114 +83,108 @@ vPortGetHeapStats (struct HeapStats_t * pxHeapStats)
 
 prvInsertBlockIntoFreeList (struct BlockLink_t * pxBlockToInsert)
 {
+  uint8_t * puc;
   struct BlockLink_t * pxIterator;
   struct A_BLOCK_LINK * _1;
   unsigned int _2;
   uint8_t * _3;
+  unsigned int _4;
   unsigned int _5;
   unsigned int _6;
   unsigned int _7;
   uint8_t * _8;
-  struct BlockLink_t * pxEnd.19_9;
-  unsigned int _10;
-  unsigned int _11;
-  struct A_BLOCK_LINK * _12;
-  struct A_BLOCK_LINK * _20;
-
-  <bb 2> [local count: 118111600]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pxIterator => &xStart
-
-  <bb 3> [local count: 1073741824]:
-  # pxIterator_14 = PHI <&xStart(2), _1(14)>
-  # DEBUG pxIterator => pxIterator_14
-  # DEBUG BEGIN_STMT
-  _1 = pxIterator_14->pxNextFreeBlock;
-  if (_1 < pxBlockToInsert_19(D))
-    goto <bb 14>; [89.00%]
+  struct A_BLOCK_LINK * _9;
+  struct A_BLOCK_LINK * _10;
+  struct BlockLink_t * pxEnd.30_11;
+  unsigned int _12;
+  struct A_BLOCK_LINK * _13;
+  unsigned int _14;
+  unsigned int _15;
+  struct A_BLOCK_LINK * _16;
+  struct A_BLOCK_LINK * _17;
+  struct BlockLink_t * pxEnd.31_18;
+  struct A_BLOCK_LINK * _19;
+
+  <bb 2> :
+  pxIterator_25 = &xStart;
+  goto <bb 4>; [INV]
+
+  <bb 3> :
+  pxIterator_37 = pxIterator_21->pxNextFreeBlock;
+
+  <bb 4> :
+  # pxIterator_21 = PHI <pxIterator_25(2), pxIterator_37(3)>
+  _1 = pxIterator_21->pxNextFreeBlock;
+  if (pxBlockToInsert_27(D) > _1)
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [11.00%]
-
-  <bb 14> [local count: 955630223]:
-  goto <bb 3>; [100.00%]
-
-  <bb 4> [local count: 118111601]:
-  # _20 = PHI <_1(3)>
-  # pxIterator_4 = PHI <pxIterator_14(3)>
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxIterator_4
-  # DEBUG BEGIN_STMT
-  _2 = pxIterator_4->xBlockSize;
-  _3 = pxIterator_4 + _2;
-  if (_3 == pxBlockToInsert_19(D))
-    goto <bb 5>; [30.00%]
+    goto <bb 5>; [INV]
+
+  <bb 5> :
+  puc_28 = pxIterator_21;
+  _2 = pxIterator_21->xBlockSize;
+  _3 = puc_28 + _2;
+  if (pxBlockToInsert_27(D) == _3)
+    goto <bb 6>; [INV]
   else
-    goto <bb 6>; [70.00%]
-
-  <bb 5> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  _5 = pxBlockToInsert_19(D)->xBlockSize;
-  _6 = _2 + _5;
-  pxIterator_4->xBlockSize = _6;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxBlockToInsert => pxIterator_4
-
-  <bb 6> [local count: 118111601]:
-  # pxBlockToInsert_13 = PHI <pxBlockToInsert_19(D)(4), pxIterator_4(5)>
-  # DEBUG pxBlockToInsert => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pxBlockToInsert_13
-  # DEBUG BEGIN_STMT
-  _7 = pxBlockToInsert_13->xBlockSize;
-  _8 = pxBlockToInsert_13 + _7;
-  if (_8 == _20)
-    goto <bb 7>; [30.00%]
+    goto <bb 7>; [INV]
+
+  <bb 6> :
+  _4 = pxIterator_21->xBlockSize;
+  _5 = pxBlockToInsert_27(D)->xBlockSize;
+  _6 = _4 + _5;
+  pxIterator_21->xBlockSize = _6;
+  pxBlockToInsert_30 = pxIterator_21;
+
+  <bb 7> :
+  # pxBlockToInsert_20 = PHI <pxBlockToInsert_27(D)(5), pxBlockToInsert_30(6)>
+  puc_31 = pxBlockToInsert_20;
+  _7 = pxBlockToInsert_20->xBlockSize;
+  _8 = puc_31 + _7;
+  _9 = pxIterator_21->pxNextFreeBlock;
+  if (_8 == _9)
+    goto <bb 8>; [INV]
   else
-    goto <bb 10>; [70.00%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 35433480]:
-  # DEBUG BEGIN_STMT
-  pxEnd.19_9 = pxEnd;
-  if (pxEnd.19_9 != _20)
-    goto <bb 8>; [70.00%]
+  <bb 8> :
+  _10 = pxIterator_21->pxNextFreeBlock;
+  pxEnd.30_11 = pxEnd;
+  if (_10 != pxEnd.30_11)
+    goto <bb 9>; [INV]
   else
-    goto <bb 9>; [30.00%]
-
-  <bb 8> [local count: 24803436]:
-  # DEBUG BEGIN_STMT
-  _10 = _20->xBlockSize;
-  _11 = _7 + _10;
-  pxBlockToInsert_13->xBlockSize = _11;
-  # DEBUG BEGIN_STMT
-  _12 = _20->pxNextFreeBlock;
-  pxBlockToInsert_13->pxNextFreeBlock = _12;
-  goto <bb 11>; [100.00%]
-
-  <bb 9> [local count: 10630044]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = pxEnd.19_9;
-  goto <bb 11>; [100.00%]
-
-  <bb 10> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxBlockToInsert_13->pxNextFreeBlock = _20;
-
-  <bb 11> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
-  if (pxIterator_4 != pxBlockToInsert_13)
-    goto <bb 12>; [70.00%]
+    goto <bb 10>; [INV]
+
+  <bb 9> :
+  _12 = pxBlockToInsert_20->xBlockSize;
+  _13 = pxIterator_21->pxNextFreeBlock;
+  _14 = _13->xBlockSize;
+  _15 = _12 + _14;
+  pxBlockToInsert_20->xBlockSize = _15;
+  _16 = pxIterator_21->pxNextFreeBlock;
+  _17 = _16->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _17;
+  goto <bb 12>; [INV]
+
+  <bb 10> :
+  pxEnd.31_18 = pxEnd;
+  pxBlockToInsert_20->pxNextFreeBlock = pxEnd.31_18;
+  goto <bb 12>; [INV]
+
+  <bb 11> :
+  _19 = pxIterator_21->pxNextFreeBlock;
+  pxBlockToInsert_20->pxNextFreeBlock = _19;
+
+  <bb 12> :
+  if (pxIterator_21 != pxBlockToInsert_20)
+    goto <bb 13>; [INV]
   else
-    goto <bb 13>; [30.00%]
+    goto <bb 14>; [INV]
 
-  <bb 12> [local count: 82678120]:
-  # DEBUG BEGIN_STMT
-  pxIterator_4->pxNextFreeBlock = pxBlockToInsert_13;
+  <bb 13> :
+  pxIterator_21->pxNextFreeBlock = pxBlockToInsert_20;
 
-  <bb 13> [local count: 118111601]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -219,79 +195,64 @@ prvHeapInit ()
   size_t xTotalHeapSize;
   size_t uxAddress;
   uint8_t * pucAlignedHeap;
+  struct BlockLink_t * pxFirstFreeBlock;
   unsigned int _1;
   unsigned int _2;
-  struct BlockLink_t * uxAddress.14_3;
-  unsigned int _4;
-
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG xTotalHeapSize => 8192
-  # DEBUG BEGIN_STMT
-  uxAddress_7 = (size_t) &ucHeap;
-  # DEBUG uxAddress => uxAddress_7
-  # DEBUG BEGIN_STMT
-  _1 = uxAddress_7 & 7;
+  unsigned int ucHeap.22_3;
+  unsigned int pucAlignedHeap.23_4;
+  unsigned int xHeapStructSize.24_5;
+  struct BlockLink_t * uxAddress.25_6;
+  struct BlockLink_t * pxEnd.26_7;
+  struct BlockLink_t * pxEnd.27_8;
+  unsigned int pxFirstFreeBlock.28_9;
+  unsigned int _10;
+  struct BlockLink_t * pxEnd.29_11;
+  unsigned int _12;
+  unsigned int _13;
+
+  <bb 2> :
+  xTotalHeapSize_16 = 8192;
+  uxAddress_17 = (size_t) &ucHeap;
+  _1 = uxAddress_17 & 7;
   if (_1 != 0)
-    goto <bb 3>; [50.00%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [50.00%]
-
-  <bb 3> [local count: 536870913]:
-  # DEBUG BEGIN_STMT
-  uxAddress_8 = uxAddress_7 + 7;
-  # DEBUG uxAddress => uxAddress_8
-  # DEBUG BEGIN_STMT
-  uxAddress_9 = uxAddress_8 & 4294967288;
-  # DEBUG uxAddress => uxAddress_9
-  # DEBUG BEGIN_STMT
-  _2 = 8192 - uxAddress_9;
-  xTotalHeapSize_10 = _2 + uxAddress_7;
-  # DEBUG xTotalHeapSize => xTotalHeapSize_10
-
-  <bb 4> [local count: 1073741824]:
-  # uxAddress_5 = PHI <uxAddress_7(2), uxAddress_9(3)>
-  # xTotalHeapSize_6 = PHI <8192(2), xTotalHeapSize_10(3)>
-  # DEBUG xTotalHeapSize => xTotalHeapSize_6
-  # DEBUG uxAddress => uxAddress_5
-  # DEBUG BEGIN_STMT
-  pucAlignedHeap_11 = (uint8_t *) uxAddress_5;
-  # DEBUG pucAlignedHeap => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  xStart.pxNextFreeBlock = pucAlignedHeap_11;
-  # DEBUG BEGIN_STMT
+    goto <bb 4>; [INV]
+
+  <bb 3> :
+  uxAddress_18 = uxAddress_17 + 7;
+  uxAddress_19 = uxAddress_18 & 4294967288;
+  _2 = xTotalHeapSize_16 - uxAddress_19;
+  ucHeap.22_3 = (unsigned int) &ucHeap;
+  xTotalHeapSize_20 = _2 + ucHeap.22_3;
+
+  <bb 4> :
+  # uxAddress_14 = PHI <uxAddress_17(2), uxAddress_19(3)>
+  # xTotalHeapSize_15 = PHI <xTotalHeapSize_16(2), xTotalHeapSize_20(3)>
+  pucAlignedHeap_21 = (uint8_t *) uxAddress_14;
+  xStart.pxNextFreeBlock = pucAlignedHeap_21;
   xStart.xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress_15 = uxAddress_5 + xTotalHeapSize_6;
-  # DEBUG uxAddress => uxAddress_15
-  # DEBUG BEGIN_STMT
-  uxAddress_16 = uxAddress_15 + 4294967288;
-  # DEBUG uxAddress => uxAddress_16
-  # DEBUG BEGIN_STMT
-  uxAddress_17 = uxAddress_16 & 4294967288;
-  # DEBUG uxAddress => uxAddress_17
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3 = (struct BlockLink_t *) uxAddress_17;
-  pxEnd = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->xBlockSize = 0;
-  # DEBUG BEGIN_STMT
-  uxAddress.14_3->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  # DEBUG pxFirstFreeBlock => pucAlignedHeap_11
-  # DEBUG BEGIN_STMT
-  _4 = uxAddress_17 - uxAddress_5;
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].xBlockSize = _4;
-  # DEBUG BEGIN_STMT
-  MEM[(struct BlockLink_t *)pucAlignedHeap_11].pxNextFreeBlock = uxAddress.14_3;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining = _4;
-  # DEBUG BEGIN_STMT
+  pucAlignedHeap.23_4 = (unsigned int) pucAlignedHeap_21;
+  uxAddress_25 = xTotalHeapSize_15 + pucAlignedHeap.23_4;
+  xHeapStructSize.24_5 = 8;
+  uxAddress_26 = uxAddress_25 - xHeapStructSize.24_5;
+  uxAddress_27 = uxAddress_26 & 4294967288;
+  uxAddress.25_6 = (struct BlockLink_t *) uxAddress_27;
+  pxEnd = uxAddress.25_6;
+  pxEnd.26_7 = pxEnd;
+  pxEnd.26_7->xBlockSize = 0;
+  pxEnd.27_8 = pxEnd;
+  pxEnd.27_8->pxNextFreeBlock = 0B;
+  pxFirstFreeBlock_31 = pucAlignedHeap_21;
+  pxFirstFreeBlock.28_9 = (unsigned int) pxFirstFreeBlock_31;
+  _10 = uxAddress_27 - pxFirstFreeBlock.28_9;
+  pxFirstFreeBlock_31->xBlockSize = _10;
+  pxEnd.29_11 = pxEnd;
+  pxFirstFreeBlock_31->pxNextFreeBlock = pxEnd.29_11;
+  _12 = pxFirstFreeBlock_31->xBlockSize;
+  xMinimumEverFreeBytesRemaining = _12;
+  _13 = pxFirstFreeBlock_31->xBlockSize;
+  xFreeBytesRemaining = _13;
   xBlockAllocatedBit = 2147483648;
   return;
 
@@ -300,8 +261,7 @@ prvHeapInit ()
 
 vPortInitialiseBlocks ()
 {
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   return;
 
 }
@@ -309,11 +269,14 @@ vPortInitialiseBlocks ()
 
 xPortGetMinimumEverFreeHeapSize ()
 {
+  size_t D.6338;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xMinimumEverFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -321,11 +284,14 @@ xPortGetMinimumEverFreeHeapSize ()
 
 xPortGetFreeHeapSize ()
 {
+  size_t D.6336;
   size_t _2;
 
-  <bb 2> [local count: 1073741824]:
-  # DEBUG BEGIN_STMT
+  <bb 2> :
   _2 = xFreeBytesRemaining;
+
+  <bb 3> :
+<L0>:
   return _2;
 
 }
@@ -335,122 +301,113 @@ vPortFree (void * pv)
 {
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
+  struct BlockLink_t * pxLink;
   uint8_t * puc;
-  unsigned int _1;
-  unsigned int xBlockAllocatedBit.21_2;
+  unsigned int xHeapStructSize.16_1;
+  sizetype _2;
   unsigned int _3;
-  struct A_BLOCK_LINK * _4;
+  unsigned int xBlockAllocatedBit.17_4;
   unsigned int _5;
-  unsigned int _6;
+  struct A_BLOCK_LINK * _6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.24_8;
+  unsigned int xBlockAllocatedBit.18_8;
   unsigned int _9;
-  unsigned int xNumberOfSuccessfulFrees.25_10;
+  struct A_BLOCK_LINK * _10;
   unsigned int _11;
+  unsigned int xBlockAllocatedBit.19_12;
+  unsigned int _13;
+  unsigned int _14;
+  unsigned int _15;
+  unsigned int xFreeBytesRemaining.20_16;
+  unsigned int _17;
+  unsigned int xNumberOfSuccessfulFrees.21_18;
+  unsigned int _19;
 
-  <bb 2> [local count: 306783]:
-  # DEBUG BEGIN_STMT
-  # DEBUG puc => pv_13(D)
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  if (pv_13(D) != 0B)
-    goto <bb 3>; [70.00%]
+  <bb 2> :
+  puc_22 = pv_21(D);
+  if (pv_21(D) != 0B)
+    goto <bb 3>; [INV]
   else
-    goto <bb 10>; [30.00%]
-
-  <bb 3> [local count: 214748]:
-  # DEBUG BEGIN_STMT
-  puc_15 = pv_13(D) + 4294967288;
-  # DEBUG puc => puc_15
-  # DEBUG BEGIN_STMT
-  # DEBUG pxLink => puc_15
-  # DEBUG BEGIN_STMT
-  _1 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xBlockAllocatedBit.21_2 = xBlockAllocatedBit;
-  _3 = _1 & xBlockAllocatedBit.21_2;
-  if (_3 == 0)
-    goto <bb 4>; [50.00%]
+    goto <bb 14>; [INV]
+
+  <bb 3> :
+  xHeapStructSize.16_1 = 8;
+  _2 = -xHeapStructSize.16_1;
+  puc_24 = puc_22 + _2;
+  pxLink_25 = puc_24;
+  _3 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.17_4 = xBlockAllocatedBit;
+  _5 = _3 & xBlockAllocatedBit.17_4;
+  if (_5 == 0)
+    goto <bb 4>; [INV]
   else
-    goto <bb 6>; [50.00%]
+    goto <bb 7>; [INV]
 
-  <bb 4> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
-
-  <bb 5> [local count: 1073741823]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 1073741824]:
-  goto <bb 5>; [100.00%]
-
-  <bb 6> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _4 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].pxNextFreeBlock;
-  if (_4 != 0B)
-    goto <bb 7>; [82.57%]
+" : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
+
+  <bb 5> :
+
+  <bb 6> :
+  goto <bb 6>; [INV]
+
+  <bb 7> :
+  _6 = pxLink_25->pxNextFreeBlock;
+  if (_6 != 0B)
+    goto <bb 8>; [INV]
   else
-    goto <bb 9>; [17.43%]
+    goto <bb 11>; [INV]
 
-  <bb 7> [local count: 88659]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 8> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
-
-  <bb 8> [local count: 886588623]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 12> [local count: 886588623]:
-  goto <bb 8>; [100.00%]
-
-  <bb 9> [local count: 18715]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  _5 = ~xBlockAllocatedBit.21_2;
-  _6 = _1 & _5;
-  MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize = _6;
-  # DEBUG BEGIN_STMT
+" : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
+
+  <bb 9> :
+
+  <bb 10> :
+  goto <bb 10>; [INV]
+
+  <bb 11> :
+  _7 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.18_8 = xBlockAllocatedBit;
+  _9 = _7 & xBlockAllocatedBit.18_8;
+  if (_9 != 0)
+    goto <bb 12>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 12> :
+  _10 = pxLink_25->pxNextFreeBlock;
+  if (_10 == 0B)
+    goto <bb 13>; [INV]
+  else
+    goto <bb 14>; [INV]
+
+  <bb 13> :
+  _11 = pxLink_25->xBlockSize;
+  xBlockAllocatedBit.19_12 = xBlockAllocatedBit;
+  _13 = ~xBlockAllocatedBit.19_12;
+  _14 = _11 & _13;
+  pxLink_25->xBlockSize = _14;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
-  _7 = MEM[(struct BlockLink_t *)pv_13(D) + 4294967288B].xBlockSize;
-  xFreeBytesRemaining.24_8 = xFreeBytesRemaining;
-  _9 = _7 + xFreeBytesRemaining.24_8;
-  xFreeBytesRemaining = _9;
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (puc_15);
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulFrees.25_10 = xNumberOfSuccessfulFrees;
-  _11 = xNumberOfSuccessfulFrees.25_10 + 1;
-  xNumberOfSuccessfulFrees = _11;
-  # DEBUG BEGIN_STMT
+  _15 = pxLink_25->xBlockSize;
+  xFreeBytesRemaining.20_16 = xFreeBytesRemaining;
+  _17 = _15 + xFreeBytesRemaining.20_16;
+  xFreeBytesRemaining = _17;
+  prvInsertBlockIntoFreeList (pxLink_25);
+  xNumberOfSuccessfulFrees.21_18 = xNumberOfSuccessfulFrees;
+  _19 = xNumberOfSuccessfulFrees.21_18 + 1;
+  xNumberOfSuccessfulFrees = _19;
   xTaskResumeAll ();
 
-  <bb 10> [local count: 110750]:
-  # DEBUG BEGIN_STMT
+  <bb 14> :
   return;
 
 }
@@ -458,281 +415,280 @@ vPortFree (void * pv)
 
 pvPortMalloc (size_t xWantedSize)
 {
+  uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   uint32_t ulNewBASEPRI;
   void * pvReturn;
   struct BlockLink_t * pxNewBlockLink;
   struct BlockLink_t * pxPreviousBlock;
   struct BlockLink_t * pxBlock;
+  void * D.6322;
   struct BlockLink_t * pxEnd.0_1;
   unsigned int xBlockAllocatedBit.1_2;
   unsigned int _3;
-  unsigned int _4;
+  unsigned int xHeapStructSize.2_4;
   unsigned int _5;
-  unsigned int _6;
+  unsigned int xHeapStructSize.3_6;
   unsigned int _7;
-  unsigned int xFreeBytesRemaining.2_9;
+  unsigned int _8;
+  unsigned int _9;
   unsigned int _10;
-  struct A_BLOCK_LINK * _11;
-  struct BlockLink_t * pxEnd.3_12;
-  struct A_BLOCK_LINK * _13;
+  unsigned int _11;
+  unsigned int xFreeBytesRemaining.4_12;
+  unsigned int _13;
   struct A_BLOCK_LINK * _14;
-  unsigned int _15;
-  unsigned int pxNewBlockLink.4_16;
-  unsigned int _17;
-  unsigned int xFreeBytesRemaining.5_18;
+  struct BlockLink_t * pxEnd.5_15;
+  struct A_BLOCK_LINK * _16;
+  unsigned int xHeapStructSize.6_17;
+  struct A_BLOCK_LINK * _18;
   unsigned int _19;
   unsigned int _20;
-  unsigned int xMinimumEverFreeBytesRemaining.7_21;
-  unsigned int xBlockAllocatedBit.9_22;
-  unsigned int _23;
-  unsigned int xNumberOfSuccessfulAllocations.10_24;
+  unsigned int xHeapStructSize.7_21;
+  unsigned int _22;
+  unsigned int pxNewBlockLink.8_23;
+  unsigned int _24;
   unsigned int _25;
-  unsigned int pvReturn.11_26;
-  unsigned int _27;
-  unsigned int _57;
-
-  <bb 2> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG pvReturn => 0B
-  # DEBUG BEGIN_STMT
+  unsigned int _26;
+  unsigned int xFreeBytesRemaining.9_27;
+  unsigned int _28;
+  unsigned int _29;
+  unsigned int xFreeBytesRemaining.10_30;
+  unsigned int xMinimumEverFreeBytesRemaining.11_31;
+  unsigned int xFreeBytesRemaining.12_32;
+  unsigned int _33;
+  unsigned int xBlockAllocatedBit.13_34;
+  unsigned int _35;
+  unsigned int xNumberOfSuccessfulAllocations.14_36;
+  unsigned int _37;
+  unsigned int pvReturn.15_38;
+  unsigned int _39;
+  void * _74;
+
+  <bb 2> :
+  pvReturn_49 = 0B;
   vTaskSuspendAll ();
-  # DEBUG BEGIN_STMT
   pxEnd.0_1 = pxEnd;
   if (pxEnd.0_1 == 0B)
-    goto <bb 3>; [17.43%]
+    goto <bb 3>; [INV]
   else
-    goto <bb 4>; [82.57%]
+    goto <bb 4>; [INV]
 
-  <bb 3> [local count: 40362]:
-  # DEBUG BEGIN_STMT
+  <bb 3> :
   prvHeapInit ();
 
-  <bb 4> [local count: 231566]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 4> :
   xBlockAllocatedBit.1_2 = xBlockAllocatedBit;
-  _3 = xBlockAllocatedBit.1_2 & xWantedSize_39(D);
+  _3 = xWantedSize_53(D) & xBlockAllocatedBit.1_2;
   if (_3 == 0)
-    goto <bb 5>; [83.25%]
+    goto <bb 5>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 5> :
+  if (xWantedSize_53(D) != 0)
+    goto <bb 6>; [INV]
   else
-    goto <bb 22>; [16.75%]
+    goto <bb 15>; [INV]
 
-  <bb 5> [local count: 192779]:
-  # DEBUG BEGIN_STMT
-  _4 = xWantedSize_39(D) + 4294967295;
-  if (_4 <= 4294967286)
-    goto <bb 6>; [71.00%]
+  <bb 6> :
+  xHeapStructSize.2_4 = 8;
+  _5 = xWantedSize_53(D) + xHeapStructSize.2_4;
+  if (xWantedSize_53(D) < _5)
+    goto <bb 7>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 6> [local count: 136873]:
-  # DEBUG BEGIN_STMT
-  xWantedSize_40 = xWantedSize_39(D) + 8;
-  # DEBUG xWantedSize => xWantedSize_40
-  # DEBUG BEGIN_STMT
-  _5 = xWantedSize_40 & 7;
-  if (_5 != 0)
-    goto <bb 7>; [50.00%]
+    goto <bb 15>; [INV]
+
+  <bb 7> :
+  xHeapStructSize.3_6 = 8;
+  xWantedSize_54 = xWantedSize_53(D) + xHeapStructSize.3_6;
+  _7 = xWantedSize_54 & 7;
+  if (_7 != 0)
+    goto <bb 8>; [INV]
   else
-    goto <bb 8>; [50.00%]
-
-  <bb 7> [local count: 68436]:
-  # DEBUG BEGIN_STMT
-  _6 = xWantedSize_40 & 4294967288;
-  _7 = _6 + 8;
-  if (_7 > xWantedSize_40)
-    goto <bb 8>; [71.00%]
+    goto <bb 14>; [INV]
+
+  <bb 8> :
+  _8 = xWantedSize_54 & 4294967288;
+  _9 = _8 + 8;
+  if (xWantedSize_54 < _9)
+    goto <bb 9>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 8> [local count: 117026]:
-  # xWantedSize_28 = PHI <_7(7), xWantedSize_40(6)>
-  # DEBUG xWantedSize => xWantedSize_28
-  # DEBUG BEGIN_STMT
-  if (xWantedSize_28 != 0)
-    goto <bb 9>; [71.00%]
+    goto <bb 13>; [INV]
+
+  <bb 9> :
+  _10 = xWantedSize_54 & 4294967288;
+  xWantedSize_56 = _10 + 8;
+  _11 = xWantedSize_56 & 7;
+  if (_11 != 0)
+    goto <bb 10>; [INV]
   else
-    goto <bb 22>; [29.00%]
+    goto <bb 14>; [INV]
 
-  <bb 9> [local count: 83089]:
-  xFreeBytesRemaining.2_9 = xFreeBytesRemaining;
-  if (xFreeBytesRemaining.2_9 >= xWantedSize_28)
-    goto <bb 10>; [71.00%]
+  <bb 10> :
+  __asm__ __volatile__("	mov %0, %1												
+	msr basepri, %0											
+	isb														
+	dsb														
+" : "=r" ulNewBASEPRI_75 : "i" 16 : "memory");
+
+  <bb 11> :
+
+  <bb 12> :
+  goto <bb 12>; [INV]
+
+  <bb 13> :
+  xWantedSize_55 = 0;
+
+  <bb 14> :
+  # xWantedSize_40 = PHI <xWantedSize_54(7), xWantedSize_55(13), xWantedSize_56(9)>
+  goto <bb 16>; [INV]
+
+  <bb 15> :
+  xWantedSize_57 = 0;
+
+  <bb 16> :
+  # xWantedSize_41 = PHI <xWantedSize_40(14), xWantedSize_57(15)>
+  if (xWantedSize_41 != 0)
+    goto <bb 17>; [INV]
   else
-    goto <bb 22>; [29.00%]
-
-  <bb 10> [local count: 58993]:
-  # DEBUG BEGIN_STMT
-  # DEBUG pxPreviousBlock => &xStart
-  # DEBUG BEGIN_STMT
-  pxBlock_41 = xStart.pxNextFreeBlock;
-  # DEBUG pxBlock => pxBlock_41
-  # DEBUG BEGIN_STMT
-
-  <bb 11> [local count: 551465]:
-  # pxBlock_29 = PHI <pxBlock_41(10), _11(28)>
-  # pxPreviousBlock_30 = PHI <&xStart(10), pxBlock_29(28)>
-  # DEBUG pxPreviousBlock => pxPreviousBlock_30
-  # DEBUG pxBlock => pxBlock_29
-  # DEBUG BEGIN_STMT
-  _10 = pxBlock_29->xBlockSize;
-  if (_10 < xWantedSize_28)
-    goto <bb 12>; [94.50%]
+    goto <bb 32>; [INV]
+
+  <bb 17> :
+  xFreeBytesRemaining.4_12 = xFreeBytesRemaining;
+  if (xWantedSize_41 <= xFreeBytesRemaining.4_12)
+    goto <bb 18>; [INV]
+  else
+    goto <bb 32>; [INV]
+
+  <bb 18> :
+  pxPreviousBlock_58 = &xStart;
+  pxBlock_59 = xStart.pxNextFreeBlock;
+  goto <bb 20>; [INV]
+
+  <bb 19> :
+  pxPreviousBlock_60 = pxBlock_42;
+  pxBlock_61 = pxBlock_42->pxNextFreeBlock;
+
+  <bb 20> :
+  # pxBlock_42 = PHI <pxBlock_59(18), pxBlock_61(19)>
+  # pxPreviousBlock_43 = PHI <pxPreviousBlock_58(18), pxPreviousBlock_60(19)>
+  _13 = pxBlock_42->xBlockSize;
+  if (xWantedSize_41 > _13)
+    goto <bb 21>; [INV]
   else
-    goto <bb 13>; [5.50%]
+    goto <bb 22>; [INV]
 
-  <bb 12> [local count: 521134]:
-  _11 = pxBlock_29->pxNextFreeBlock;
-  if (_11 != 0B)
-    goto <bb 28>; [94.50%]
+  <bb 21> :
+  _14 = pxBlock_42->pxNextFreeBlock;
+  if (_14 != 0B)
+    goto <bb 19>; [INV]
   else
-    goto <bb 13>; [5.50%]
-
-  <bb 28> [local count: 492472]:
-  goto <bb 11>; [100.00%]
-
-  <bb 13> [local count: 58993]:
-  # _57 = PHI <_10(11), _10(12)>
-  # pxBlock_54 = PHI <pxBlock_29(11), pxBlock_29(12)>
-  # pxPreviousBlock_8 = PHI <pxPreviousBlock_30(11), pxPreviousBlock_30(12)>
-  # DEBUG BEGIN_STMT
-  pxEnd.3_12 = pxEnd;
-  if (pxEnd.3_12 != pxBlock_54)
-    goto <bb 14>; [85.10%]
+    goto <bb 22>; [INV]
+
+  <bb 22> :
+  pxEnd.5_15 = pxEnd;
+  if (pxBlock_42 != pxEnd.5_15)
+    goto <bb 23>; [INV]
   else
-    goto <bb 22>; [14.90%]
-
-  <bb 14> [local count: 50203]:
-  # DEBUG BEGIN_STMT
-  _13 = pxPreviousBlock_8->pxNextFreeBlock;
-  pvReturn_42 = _13 + 8;
-  # DEBUG pvReturn => pvReturn_42
-  # DEBUG BEGIN_STMT
-  _14 = pxBlock_54->pxNextFreeBlock;
-  pxPreviousBlock_8->pxNextFreeBlock = _14;
-  # DEBUG BEGIN_STMT
-  _15 = _57 - xWantedSize_28;
-  if (_15 > 16)
-    goto <bb 15>; [50.00%]
+    goto <bb 32>; [INV]
+
+  <bb 23> :
+  _16 = pxPreviousBlock_43->pxNextFreeBlock;
+  xHeapStructSize.6_17 = 8;
+  pvReturn_62 = _16 + xHeapStructSize.6_17;
+  _18 = pxBlock_42->pxNextFreeBlock;
+  pxPreviousBlock_43->pxNextFreeBlock = _18;
+  _19 = pxBlock_42->xBlockSize;
+  _20 = _19 - xWantedSize_41;
+  xHeapStructSize.7_21 = 8;
+  _22 = xHeapStructSize.7_21 << 1;
+  if (_20 > _22)
+    goto <bb 24>; [INV]
   else
-    goto <bb 19>; [50.00%]
-
-  <bb 15> [local count: 25102]:
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44 = pxBlock_54 + xWantedSize_28;
-  # DEBUG pxNewBlockLink => pxNewBlockLink_44
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink.4_16 = (unsigned int) pxNewBlockLink_44;
-  _17 = pxNewBlockLink.4_16 & 7;
-  if (_17 != 0)
-    goto <bb 16>; [67.00%]
+    goto <bb 29>; [INV]
+
+  <bb 24> :
+  pxNewBlockLink_64 = pxBlock_42 + xWantedSize_41;
+  pxNewBlockLink.8_23 = (unsigned int) pxNewBlockLink_64;
+  _24 = pxNewBlockLink.8_23 & 7;
+  if (_24 != 0)
+    goto <bb 25>; [INV]
   else
-    goto <bb 18>; [33.00%]
+    goto <bb 28>; [INV]
 
-  <bb 16> [local count: 16818]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 25> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
-
-  <bb 17> [local count: 168180375]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 26> [local count: 168180375]:
-  goto <bb 17>; [100.00%]
-
-  <bb 18> [local count: 8283]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  pxNewBlockLink_44->xBlockSize = _15;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->xBlockSize = xWantedSize_28;
-  # DEBUG BEGIN_STMT
-  prvInsertBlockIntoFreeList (pxNewBlockLink_44);
-
-  <bb 19> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xFreeBytesRemaining.5_18 = xFreeBytesRemaining;
-  _19 = pxBlock_54->xBlockSize;
-  _20 = xFreeBytesRemaining.5_18 - _19;
-  xFreeBytesRemaining = _20;
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining.7_21 = xMinimumEverFreeBytesRemaining;
-  if (_20 < xMinimumEverFreeBytesRemaining.7_21)
-    goto <bb 20>; [50.00%]
+" : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
+
+  <bb 26> :
+
+  <bb 27> :
+  goto <bb 27>; [INV]
+
+  <bb 28> :
+  _25 = pxBlock_42->xBlockSize;
+  _26 = _25 - xWantedSize_41;
+  pxNewBlockLink_64->xBlockSize = _26;
+  pxBlock_42->xBlockSize = xWantedSize_41;
+  prvInsertBlockIntoFreeList (pxNewBlockLink_64);
+
+  <bb 29> :
+  xFreeBytesRemaining.9_27 = xFreeBytesRemaining;
+  _28 = pxBlock_42->xBlockSize;
+  _29 = xFreeBytesRemaining.9_27 - _28;
+  xFreeBytesRemaining = _29;
+  xFreeBytesRemaining.10_30 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining.11_31 = xMinimumEverFreeBytesRemaining;
+  if (xFreeBytesRemaining.10_30 < xMinimumEverFreeBytesRemaining.11_31)
+    goto <bb 30>; [INV]
   else
-    goto <bb 21>; [50.00%]
-
-  <bb 20> [local count: 16693]:
-  # DEBUG BEGIN_STMT
-  xMinimumEverFreeBytesRemaining = _20;
-
-  <bb 21> [local count: 33385]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  xBlockAllocatedBit.9_22 = xBlockAllocatedBit;
-  _23 = _19 | xBlockAllocatedBit.9_22;
-  pxBlock_54->xBlockSize = _23;
-  # DEBUG BEGIN_STMT
-  pxBlock_54->pxNextFreeBlock = 0B;
-  # DEBUG BEGIN_STMT
-  xNumberOfSuccessfulAllocations.10_24 = xNumberOfSuccessfulAllocations;
-  _25 = xNumberOfSuccessfulAllocations.10_24 + 1;
-  xNumberOfSuccessfulAllocations = _25;
-
-  <bb 22> [local count: 214748]:
-  # pvReturn_31 = PHI <0B(4), 0B(9), 0B(8), 0B(13), pvReturn_42(21), 0B(7), 0B(5)>
-  # DEBUG xWantedSize => NULL
-  # DEBUG pvReturn => pvReturn_31
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+    goto <bb 31>; [INV]
+
+  <bb 30> :
+  xFreeBytesRemaining.12_32 = xFreeBytesRemaining;
+  xMinimumEverFreeBytesRemaining = xFreeBytesRemaining.12_32;
+
+  <bb 31> :
+  _33 = pxBlock_42->xBlockSize;
+  xBlockAllocatedBit.13_34 = xBlockAllocatedBit;
+  _35 = _33 | xBlockAllocatedBit.13_34;
+  pxBlock_42->xBlockSize = _35;
+  pxBlock_42->pxNextFreeBlock = 0B;
+  xNumberOfSuccessfulAllocations.14_36 = xNumberOfSuccessfulAllocations;
+  _37 = xNumberOfSuccessfulAllocations.14_36 + 1;
+  xNumberOfSuccessfulAllocations = _37;
+
+  <bb 32> :
+  # pvReturn_44 = PHI <pvReturn_49(4), pvReturn_49(17), pvReturn_49(16), pvReturn_49(22), pvReturn_62(31)>
   xTaskResumeAll ();
-  # DEBUG BEGIN_STMT
-  pvReturn.11_26 = (unsigned int) pvReturn_31;
-  _27 = pvReturn.11_26 & 7;
-  if (_27 != 0)
-    goto <bb 23>; [50.00%]
+  pvReturn.15_38 = (unsigned int) pvReturn_44;
+  _39 = pvReturn.15_38 & 7;
+  if (_39 != 0)
+    goto <bb 33>; [INV]
   else
-    goto <bb 25>; [50.00%]
+    goto <bb 36>; [INV]
 
-  <bb 23> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
+  <bb 33> :
   __asm__ __volatile__("	mov %0, %1												
 	msr basepri, %0											
 	isb														
 	dsb														
-" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
-  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56
-
-  <bb 24> [local count: 1073741824]:
-  # DEBUG ulNewBASEPRI => NULL
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-
-  <bb 27> [local count: 1073741824]:
-  goto <bb 24>; [100.00%]
-
-  <bb 25> [local count: 107374]:
-  # DEBUG BEGIN_STMT
-  # DEBUG BEGIN_STMT
-  return pvReturn_31;
+" : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
+
+  <bb 34> :
+
+  <bb 35> :
+  goto <bb 35>; [INV]
+
+  <bb 36> :
+  _74 = pvReturn_44;
+
+  <bb 37> :
+<L43>:
+  return _74;
 
 }
 

Some files were not shown because too many files changed in this diff