cimo 0.0.1__tar.gz → 0.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. cimo-0.0.2/PKG-INFO +28 -0
  2. cimo-0.0.2/README.md +8 -0
  3. cimo-0.0.2/cimo/__init__.py +5 -0
  4. cimo-0.0.2/cimo/__main__.py +7 -0
  5. cimo-0.0.2/cimo/assembler.py +1616 -0
  6. cimo-0.0.2/cimo/assembler_amd64.py +1485 -0
  7. cimo-0.0.2/cimo/backend/LICENSE +19 -0
  8. cimo-0.0.2/cimo/backend/PORTING.md +181 -0
  9. cimo-0.0.2/cimo/backend/__init__.py +1 -0
  10. cimo-0.0.2/cimo/backend/__main__.py +5 -0
  11. cimo-0.0.2/cimo/backend/abi.py +18 -0
  12. cimo-0.0.2/cimo/backend/alias.py +194 -0
  13. cimo-0.0.2/cimo/backend/amd64/__init__.py +1 -0
  14. cimo-0.0.2/cimo/backend/amd64/emit.py +800 -0
  15. cimo-0.0.2/cimo/backend/amd64/isel.py +927 -0
  16. cimo-0.0.2/cimo/backend/amd64/regs.py +21 -0
  17. cimo-0.0.2/cimo/backend/amd64/sysv.py +675 -0
  18. cimo-0.0.2/cimo/backend/amd64/targ.py +150 -0
  19. cimo-0.0.2/cimo/backend/amd64/winabi.py +632 -0
  20. cimo-0.0.2/cimo/backend/arm64/__init__.py +1 -0
  21. cimo-0.0.2/cimo/backend/arm64/abi.py +879 -0
  22. cimo-0.0.2/cimo/backend/arm64/emit.py +1537 -0
  23. cimo-0.0.2/cimo/backend/arm64/isel.py +1559 -0
  24. cimo-0.0.2/cimo/backend/arm64/pair.py +154 -0
  25. cimo-0.0.2/cimo/backend/arm64/regs.py +17 -0
  26. cimo-0.0.2/cimo/backend/arm64/targ.py +103 -0
  27. cimo-0.0.2/cimo/backend/cfg.py +507 -0
  28. cimo-0.0.2/cimo/backend/copy.py +353 -0
  29. cimo-0.0.2/cimo/backend/cse.py +700 -0
  30. cimo-0.0.2/cimo/backend/defs.py +903 -0
  31. cimo-0.0.2/cimo/backend/emit.py +219 -0
  32. cimo-0.0.2/cimo/backend/ext.py +113 -0
  33. cimo-0.0.2/cimo/backend/fold.py +346 -0
  34. cimo-0.0.2/cimo/backend/gcm.py +350 -0
  35. cimo-0.0.2/cimo/backend/gvn.py +562 -0
  36. cimo-0.0.2/cimo/backend/ifopt.py +126 -0
  37. cimo-0.0.2/cimo/backend/inline.py +843 -0
  38. cimo-0.0.2/cimo/backend/live.py +130 -0
  39. cimo-0.0.2/cimo/backend/load.py +511 -0
  40. cimo-0.0.2/cimo/backend/main.py +325 -0
  41. cimo-0.0.2/cimo/backend/mem.py +496 -0
  42. cimo-0.0.2/cimo/backend/memopt.py +327 -0
  43. cimo-0.0.2/cimo/backend/nowrap.py +329 -0
  44. cimo-0.0.2/cimo/backend/parse.py +1258 -0
  45. cimo-0.0.2/cimo/backend/rega.py +722 -0
  46. cimo-0.0.2/cimo/backend/scalar.py +364 -0
  47. cimo-0.0.2/cimo/backend/simpl.py +107 -0
  48. cimo-0.0.2/cimo/backend/simplify.py +638 -0
  49. cimo-0.0.2/cimo/backend/spill.py +465 -0
  50. cimo-0.0.2/cimo/backend/sroa.py +148 -0
  51. cimo-0.0.2/cimo/backend/ssa.py +340 -0
  52. cimo-0.0.2/cimo/backend/thread.py +375 -0
  53. cimo-0.0.2/cimo/backend/util.py +432 -0
  54. cimo-0.0.2/cimo/backend/wasm/__init__.py +0 -0
  55. cimo-0.0.2/cimo/backend/wasm/emit.py +767 -0
  56. cimo-0.0.2/cimo/backend/wasm/obj.py +123 -0
  57. cimo-0.0.2/cimo/backend/wasm/targ.py +25 -0
  58. cimo-0.0.2/cimo/cli/__init__.py +72 -0
  59. cimo-0.0.2/cimo/cli/commands.py +545 -0
  60. cimo-0.0.2/cimo/cli/completion.py +66 -0
  61. cimo-0.0.2/cimo/cli/parse.py +430 -0
  62. cimo-0.0.2/cimo/cli/report.py +94 -0
  63. cimo-0.0.2/cimo/cli/term.py +204 -0
  64. cimo-0.0.2/cimo/driver.py +764 -0
  65. cimo-0.0.2/cimo/execution.py +687 -0
  66. cimo-0.0.2/cimo/frontend/LICENSE +63 -0
  67. cimo-0.0.2/cimo/frontend/PORTING.md +209 -0
  68. cimo-0.0.2/cimo/frontend/__init__.py +12 -0
  69. cimo-0.0.2/cimo/frontend/__main__.py +5 -0
  70. cimo-0.0.2/cimo/frontend/attr.py +133 -0
  71. cimo-0.0.2/cimo/frontend/cc.py +634 -0
  72. cimo-0.0.2/cimo/frontend/decl.py +1211 -0
  73. cimo-0.0.2/cimo/frontend/diag.py +292 -0
  74. cimo-0.0.2/cimo/frontend/eval.py +281 -0
  75. cimo-0.0.2/cimo/frontend/expr.py +1292 -0
  76. cimo-0.0.2/cimo/frontend/init.py +268 -0
  77. cimo-0.0.2/cimo/frontend/main.py +278 -0
  78. cimo-0.0.2/cimo/frontend/map.py +15 -0
  79. cimo-0.0.2/cimo/frontend/pp.py +551 -0
  80. cimo-0.0.2/cimo/frontend/prune.py +63 -0
  81. cimo-0.0.2/cimo/frontend/qbe.py +2156 -0
  82. cimo-0.0.2/cimo/frontend/scan.py +394 -0
  83. cimo-0.0.2/cimo/frontend/scope.py +73 -0
  84. cimo-0.0.2/cimo/frontend/stmt.py +316 -0
  85. cimo-0.0.2/cimo/frontend/targ.py +76 -0
  86. cimo-0.0.2/cimo/frontend/token.py +122 -0
  87. cimo-0.0.2/cimo/frontend/tree.py +81 -0
  88. cimo-0.0.2/cimo/frontend/type.py +250 -0
  89. cimo-0.0.2/cimo/frontend/utf.py +58 -0
  90. cimo-0.0.2/cimo/frontend/util.py +44 -0
  91. cimo-0.0.2/cimo/include/assert.h +13 -0
  92. cimo-0.0.2/cimo/include/ctype.h +28 -0
  93. cimo-0.0.2/cimo/include/float.h +66 -0
  94. cimo-0.0.2/cimo/include/inttypes.h +115 -0
  95. cimo-0.0.2/cimo/include/iso646.h +17 -0
  96. cimo-0.0.2/cimo/include/limits.h +32 -0
  97. cimo-0.0.2/cimo/include/math.h +248 -0
  98. cimo-0.0.2/cimo/include/stdalign.h +10 -0
  99. cimo-0.0.2/cimo/include/stdarg.h +14 -0
  100. cimo-0.0.2/cimo/include/stdbool.h +10 -0
  101. cimo-0.0.2/cimo/include/stddef.h +35 -0
  102. cimo-0.0.2/cimo/include/stdint.h +145 -0
  103. cimo-0.0.2/cimo/include/stdio.h +25 -0
  104. cimo-0.0.2/cimo/include/stdlib.h +66 -0
  105. cimo-0.0.2/cimo/include/stdnoreturn.h +7 -0
  106. cimo-0.0.2/cimo/include/string.h +39 -0
  107. cimo-0.0.2/cimo/linker.py +587 -0
  108. cimo-0.0.2/cimo/loader.py +660 -0
  109. cimo-0.0.2/cimo/middle/__init__.py +63 -0
  110. cimo-0.0.2/cimo/middle/affine.py +403 -0
  111. cimo-0.0.2/cimo/middle/ifconv.py +120 -0
  112. cimo-0.0.2/cimo/middle/inner.py +1074 -0
  113. cimo-0.0.2/cimo/middle/ir.py +468 -0
  114. cimo-0.0.2/cimo/middle/jam.py +325 -0
  115. cimo-0.0.2/cimo/middle/loops.py +104 -0
  116. cimo-0.0.2/cimo/middle/memdep.py +165 -0
  117. cimo-0.0.2/cimo/middle/pipeline.py +82 -0
  118. cimo-0.0.2/cimo/middle/unswitch.py +148 -0
  119. cimo-0.0.2/cimo/middle/vectorize.py +240 -0
  120. cimo-0.0.2/cimo/onefile.py +372 -0
  121. cimo-0.0.2/cimo/preprocessor.py +1795 -0
  122. cimo-0.0.2/cimo/py.typed +0 -0
  123. cimo-0.0.2/cimo/resources.py +75 -0
  124. cimo-0.0.2/cimo/runtime/COPYRIGHT +213 -0
  125. cimo-0.0.2/cimo/runtime/abort.c +38 -0
  126. cimo-0.0.2/cimo/runtime/builtins.c +173 -0
  127. cimo-0.0.2/cimo/runtime/ctype/ctype.c +89 -0
  128. cimo-0.0.2/cimo/runtime/heap.c +334 -0
  129. cimo-0.0.2/cimo/runtime/internal/endian.h +10 -0
  130. cimo-0.0.2/cimo/runtime/internal/errno.h +11 -0
  131. cimo-0.0.2/cimo/runtime/internal/exp2f_data.h +23 -0
  132. cimo-0.0.2/cimo/runtime/internal/exp_data.h +26 -0
  133. cimo-0.0.2/cimo/runtime/internal/fenv.h +5 -0
  134. cimo-0.0.2/cimo/runtime/internal/floatscan.h +10 -0
  135. cimo-0.0.2/cimo/runtime/internal/intscan.h +8 -0
  136. cimo-0.0.2/cimo/runtime/internal/libm.h +108 -0
  137. cimo-0.0.2/cimo/runtime/internal/log2_data.h +28 -0
  138. cimo-0.0.2/cimo/runtime/internal/log2f_data.h +19 -0
  139. cimo-0.0.2/cimo/runtime/internal/log_data.h +28 -0
  140. cimo-0.0.2/cimo/runtime/internal/logf_data.h +20 -0
  141. cimo-0.0.2/cimo/runtime/internal/musl.h +35 -0
  142. cimo-0.0.2/cimo/runtime/internal/pow_data.h +22 -0
  143. cimo-0.0.2/cimo/runtime/internal/powf_data.h +26 -0
  144. cimo-0.0.2/cimo/runtime/internal/shgetc.h +23 -0
  145. cimo-0.0.2/cimo/runtime/internal/softfma.h +297 -0
  146. cimo-0.0.2/cimo/runtime/internal/sqrt_data.h +13 -0
  147. cimo-0.0.2/cimo/runtime/internal/stdio_impl.h +26 -0
  148. cimo-0.0.2/cimo/runtime/internal/string.h +9 -0
  149. cimo-0.0.2/cimo/runtime/math/__cos.c +71 -0
  150. cimo-0.0.2/cimo/runtime/math/__cosdf.c +35 -0
  151. cimo-0.0.2/cimo/runtime/math/__expo2.c +17 -0
  152. cimo-0.0.2/cimo/runtime/math/__expo2f.c +17 -0
  153. cimo-0.0.2/cimo/runtime/math/__math_divzero.c +6 -0
  154. cimo-0.0.2/cimo/runtime/math/__math_divzerof.c +6 -0
  155. cimo-0.0.2/cimo/runtime/math/__math_invalid.c +6 -0
  156. cimo-0.0.2/cimo/runtime/math/__math_invalidf.c +6 -0
  157. cimo-0.0.2/cimo/runtime/math/__math_oflow.c +6 -0
  158. cimo-0.0.2/cimo/runtime/math/__math_oflowf.c +6 -0
  159. cimo-0.0.2/cimo/runtime/math/__math_uflow.c +6 -0
  160. cimo-0.0.2/cimo/runtime/math/__math_uflowf.c +6 -0
  161. cimo-0.0.2/cimo/runtime/math/__math_xflow.c +6 -0
  162. cimo-0.0.2/cimo/runtime/math/__math_xflowf.c +6 -0
  163. cimo-0.0.2/cimo/runtime/math/__rem_pio2.c +190 -0
  164. cimo-0.0.2/cimo/runtime/math/__rem_pio2_large.c +442 -0
  165. cimo-0.0.2/cimo/runtime/math/__rem_pio2f.c +86 -0
  166. cimo-0.0.2/cimo/runtime/math/__sin.c +64 -0
  167. cimo-0.0.2/cimo/runtime/math/__sindf.c +36 -0
  168. cimo-0.0.2/cimo/runtime/math/__tan.c +110 -0
  169. cimo-0.0.2/cimo/runtime/math/__tandf.c +54 -0
  170. cimo-0.0.2/cimo/runtime/math/acos.c +101 -0
  171. cimo-0.0.2/cimo/runtime/math/acosf.c +71 -0
  172. cimo-0.0.2/cimo/runtime/math/acosh.c +24 -0
  173. cimo-0.0.2/cimo/runtime/math/acoshf.c +26 -0
  174. cimo-0.0.2/cimo/runtime/math/asin.c +107 -0
  175. cimo-0.0.2/cimo/runtime/math/asinf.c +61 -0
  176. cimo-0.0.2/cimo/runtime/math/asinh.c +28 -0
  177. cimo-0.0.2/cimo/runtime/math/asinhf.c +28 -0
  178. cimo-0.0.2/cimo/runtime/math/atan.c +116 -0
  179. cimo-0.0.2/cimo/runtime/math/atan2.c +107 -0
  180. cimo-0.0.2/cimo/runtime/math/atan2f.c +83 -0
  181. cimo-0.0.2/cimo/runtime/math/atanf.c +94 -0
  182. cimo-0.0.2/cimo/runtime/math/atanh.c +29 -0
  183. cimo-0.0.2/cimo/runtime/math/atanhf.c +28 -0
  184. cimo-0.0.2/cimo/runtime/math/cbrt.c +103 -0
  185. cimo-0.0.2/cimo/runtime/math/cbrtf.c +66 -0
  186. cimo-0.0.2/cimo/runtime/math/ceil.c +37 -0
  187. cimo-0.0.2/cimo/runtime/math/ceilf.c +39 -0
  188. cimo-0.0.2/cimo/runtime/math/copysign.c +8 -0
  189. cimo-0.0.2/cimo/runtime/math/copysignf.c +10 -0
  190. cimo-0.0.2/cimo/runtime/math/cos.c +77 -0
  191. cimo-0.0.2/cimo/runtime/math/cosf.c +78 -0
  192. cimo-0.0.2/cimo/runtime/math/cosh.c +40 -0
  193. cimo-0.0.2/cimo/runtime/math/coshf.c +33 -0
  194. cimo-0.0.2/cimo/runtime/math/erf.c +273 -0
  195. cimo-0.0.2/cimo/runtime/math/erff.c +183 -0
  196. cimo-0.0.2/cimo/runtime/math/exp.c +134 -0
  197. cimo-0.0.2/cimo/runtime/math/exp2.c +121 -0
  198. cimo-0.0.2/cimo/runtime/math/exp2f.c +69 -0
  199. cimo-0.0.2/cimo/runtime/math/exp2f_data.c +35 -0
  200. cimo-0.0.2/cimo/runtime/math/exp_data.c +182 -0
  201. cimo-0.0.2/cimo/runtime/math/expf.c +80 -0
  202. cimo-0.0.2/cimo/runtime/math/expm1.c +201 -0
  203. cimo-0.0.2/cimo/runtime/math/expm1f.c +110 -0
  204. cimo-0.0.2/cimo/runtime/math/fabs.c +9 -0
  205. cimo-0.0.2/cimo/runtime/math/fabsf.c +9 -0
  206. cimo-0.0.2/cimo/runtime/math/fdim.c +10 -0
  207. cimo-0.0.2/cimo/runtime/math/fdimf.c +10 -0
  208. cimo-0.0.2/cimo/runtime/math/floor.c +37 -0
  209. cimo-0.0.2/cimo/runtime/math/floorf.c +39 -0
  210. cimo-0.0.2/cimo/runtime/math/fma.c +19 -0
  211. cimo-0.0.2/cimo/runtime/math/fmaf.c +19 -0
  212. cimo-0.0.2/cimo/runtime/math/fmax.c +29 -0
  213. cimo-0.0.2/cimo/runtime/math/fmaxf.c +29 -0
  214. cimo-0.0.2/cimo/runtime/math/fmin.c +29 -0
  215. cimo-0.0.2/cimo/runtime/math/fminf.c +29 -0
  216. cimo-0.0.2/cimo/runtime/math/fmod.c +68 -0
  217. cimo-0.0.2/cimo/runtime/math/fmodf.c +65 -0
  218. cimo-0.0.2/cimo/runtime/math/frexp.c +23 -0
  219. cimo-0.0.2/cimo/runtime/math/frexpf.c +23 -0
  220. cimo-0.0.2/cimo/runtime/math/hypot.c +67 -0
  221. cimo-0.0.2/cimo/runtime/math/hypotf.c +35 -0
  222. cimo-0.0.2/cimo/runtime/math/ilogb.c +26 -0
  223. cimo-0.0.2/cimo/runtime/math/ilogbf.c +26 -0
  224. cimo-0.0.2/cimo/runtime/math/ldexp.c +6 -0
  225. cimo-0.0.2/cimo/runtime/math/ldexpf.c +6 -0
  226. cimo-0.0.2/cimo/runtime/math/lgamma.c +7 -0
  227. cimo-0.0.2/cimo/runtime/math/lgamma_r.c +283 -0
  228. cimo-0.0.2/cimo/runtime/math/lgammaf.c +7 -0
  229. cimo-0.0.2/cimo/runtime/math/lgammaf_r.c +218 -0
  230. cimo-0.0.2/cimo/runtime/math/llrint.c +8 -0
  231. cimo-0.0.2/cimo/runtime/math/llrintf.c +8 -0
  232. cimo-0.0.2/cimo/runtime/math/llround.c +6 -0
  233. cimo-0.0.2/cimo/runtime/math/llroundf.c +6 -0
  234. cimo-0.0.2/cimo/runtime/math/log.c +112 -0
  235. cimo-0.0.2/cimo/runtime/math/log10.c +101 -0
  236. cimo-0.0.2/cimo/runtime/math/log10f.c +77 -0
  237. cimo-0.0.2/cimo/runtime/math/log1p.c +122 -0
  238. cimo-0.0.2/cimo/runtime/math/log1pf.c +77 -0
  239. cimo-0.0.2/cimo/runtime/math/log2.c +122 -0
  240. cimo-0.0.2/cimo/runtime/math/log2_data.c +201 -0
  241. cimo-0.0.2/cimo/runtime/math/log2f.c +72 -0
  242. cimo-0.0.2/cimo/runtime/math/log2f_data.c +33 -0
  243. cimo-0.0.2/cimo/runtime/math/log_data.c +328 -0
  244. cimo-0.0.2/cimo/runtime/math/logb.c +17 -0
  245. cimo-0.0.2/cimo/runtime/math/logbf.c +10 -0
  246. cimo-0.0.2/cimo/runtime/math/logf.c +71 -0
  247. cimo-0.0.2/cimo/runtime/math/logf_data.c +33 -0
  248. cimo-0.0.2/cimo/runtime/math/lrint.c +72 -0
  249. cimo-0.0.2/cimo/runtime/math/lrintf.c +8 -0
  250. cimo-0.0.2/cimo/runtime/math/lround.c +6 -0
  251. cimo-0.0.2/cimo/runtime/math/lroundf.c +6 -0
  252. cimo-0.0.2/cimo/runtime/math/modf.c +34 -0
  253. cimo-0.0.2/cimo/runtime/math/modff.c +34 -0
  254. cimo-0.0.2/cimo/runtime/math/nan.c +6 -0
  255. cimo-0.0.2/cimo/runtime/math/nanf.c +6 -0
  256. cimo-0.0.2/cimo/runtime/math/nearbyint.c +7 -0
  257. cimo-0.0.2/cimo/runtime/math/nearbyintf.c +7 -0
  258. cimo-0.0.2/cimo/runtime/math/nextafter.c +31 -0
  259. cimo-0.0.2/cimo/runtime/math/nextafterf.c +30 -0
  260. cimo-0.0.2/cimo/runtime/math/pow.c +343 -0
  261. cimo-0.0.2/cimo/runtime/math/pow_data.c +180 -0
  262. cimo-0.0.2/cimo/runtime/math/powf.c +185 -0
  263. cimo-0.0.2/cimo/runtime/math/powf_data.c +34 -0
  264. cimo-0.0.2/cimo/runtime/math/remainder.c +10 -0
  265. cimo-0.0.2/cimo/runtime/math/remainderf.c +10 -0
  266. cimo-0.0.2/cimo/runtime/math/remquo.c +82 -0
  267. cimo-0.0.2/cimo/runtime/math/remquof.c +82 -0
  268. cimo-0.0.2/cimo/runtime/math/rint.c +28 -0
  269. cimo-0.0.2/cimo/runtime/math/rintf.c +30 -0
  270. cimo-0.0.2/cimo/runtime/math/round.c +41 -0
  271. cimo-0.0.2/cimo/runtime/math/roundf.c +41 -0
  272. cimo-0.0.2/cimo/runtime/math/scalbln.c +11 -0
  273. cimo-0.0.2/cimo/runtime/math/scalblnf.c +11 -0
  274. cimo-0.0.2/cimo/runtime/math/scalbn.c +33 -0
  275. cimo-0.0.2/cimo/runtime/math/scalbnf.c +31 -0
  276. cimo-0.0.2/cimo/runtime/math/signgam.c +6 -0
  277. cimo-0.0.2/cimo/runtime/math/sin.c +78 -0
  278. cimo-0.0.2/cimo/runtime/math/sinf.c +76 -0
  279. cimo-0.0.2/cimo/runtime/math/sinh.c +39 -0
  280. cimo-0.0.2/cimo/runtime/math/sinhf.c +31 -0
  281. cimo-0.0.2/cimo/runtime/math/sqrt.c +9 -0
  282. cimo-0.0.2/cimo/runtime/math/sqrtf.c +9 -0
  283. cimo-0.0.2/cimo/runtime/math/tan.c +70 -0
  284. cimo-0.0.2/cimo/runtime/math/tanf.c +64 -0
  285. cimo-0.0.2/cimo/runtime/math/tanh.c +45 -0
  286. cimo-0.0.2/cimo/runtime/math/tanhf.c +39 -0
  287. cimo-0.0.2/cimo/runtime/math/tgamma.c +222 -0
  288. cimo-0.0.2/cimo/runtime/math/tgammaf.c +6 -0
  289. cimo-0.0.2/cimo/runtime/math/trunc.c +32 -0
  290. cimo-0.0.2/cimo/runtime/math/truncf.c +32 -0
  291. cimo-0.0.2/cimo/runtime/stdio/snprintf.c +46 -0
  292. cimo-0.0.2/cimo/runtime/stdio/stdout.c +108 -0
  293. cimo-0.0.2/cimo/runtime/stdio/vfprintf.c +696 -0
  294. cimo-0.0.2/cimo/runtime/stdlib/abs.c +6 -0
  295. cimo-0.0.2/cimo/runtime/stdlib/atof.c +6 -0
  296. cimo-0.0.2/cimo/runtime/stdlib/atoi.c +16 -0
  297. cimo-0.0.2/cimo/runtime/stdlib/atol.c +17 -0
  298. cimo-0.0.2/cimo/runtime/stdlib/atoll.c +17 -0
  299. cimo-0.0.2/cimo/runtime/stdlib/bsearch.c +20 -0
  300. cimo-0.0.2/cimo/runtime/stdlib/div.c +6 -0
  301. cimo-0.0.2/cimo/runtime/stdlib/floatscan.c +511 -0
  302. cimo-0.0.2/cimo/runtime/stdlib/intscan.c +101 -0
  303. cimo-0.0.2/cimo/runtime/stdlib/inttypes.c +23 -0
  304. cimo-0.0.2/cimo/runtime/stdlib/labs.c +6 -0
  305. cimo-0.0.2/cimo/runtime/stdlib/ldiv.c +6 -0
  306. cimo-0.0.2/cimo/runtime/stdlib/llabs.c +6 -0
  307. cimo-0.0.2/cimo/runtime/stdlib/lldiv.c +6 -0
  308. cimo-0.0.2/cimo/runtime/stdlib/qsort.c +228 -0
  309. cimo-0.0.2/cimo/runtime/stdlib/qsort_nr.c +16 -0
  310. cimo-0.0.2/cimo/runtime/stdlib/rand.c +17 -0
  311. cimo-0.0.2/cimo/runtime/stdlib/strtod.c +25 -0
  312. cimo-0.0.2/cimo/runtime/stdlib/strtol.c +37 -0
  313. cimo-0.0.2/cimo/runtime/string/memchr.c +27 -0
  314. cimo-0.0.2/cimo/runtime/string/memcmp.c +8 -0
  315. cimo-0.0.2/cimo/runtime/string/memcpy.c +124 -0
  316. cimo-0.0.2/cimo/runtime/string/memmove.c +42 -0
  317. cimo-0.0.2/cimo/runtime/string/memrchr.c +12 -0
  318. cimo-0.0.2/cimo/runtime/string/memset.c +90 -0
  319. cimo-0.0.2/cimo/runtime/string/stpcpy.c +30 -0
  320. cimo-0.0.2/cimo/runtime/string/stpncpy.c +33 -0
  321. cimo-0.0.2/cimo/runtime/string/strcat.c +7 -0
  322. cimo-0.0.2/cimo/runtime/string/strchr.c +7 -0
  323. cimo-0.0.2/cimo/runtime/string/strchrnul.c +29 -0
  324. cimo-0.0.2/cimo/runtime/string/strcmp.c +7 -0
  325. cimo-0.0.2/cimo/runtime/string/strcoll.c +7 -0
  326. cimo-0.0.2/cimo/runtime/string/strcpy.c +7 -0
  327. cimo-0.0.2/cimo/runtime/string/strcspn.c +17 -0
  328. cimo-0.0.2/cimo/runtime/string/strdup.c +10 -0
  329. cimo-0.0.2/cimo/runtime/string/strerror.c +18 -0
  330. cimo-0.0.2/cimo/runtime/string/strlen.c +22 -0
  331. cimo-0.0.2/cimo/runtime/string/strncat.c +10 -0
  332. cimo-0.0.2/cimo/runtime/string/strncmp.c +9 -0
  333. cimo-0.0.2/cimo/runtime/string/strncpy.c +7 -0
  334. cimo-0.0.2/cimo/runtime/string/strndup.c +12 -0
  335. cimo-0.0.2/cimo/runtime/string/strnlen.c +7 -0
  336. cimo-0.0.2/cimo/runtime/string/strpbrk.c +7 -0
  337. cimo-0.0.2/cimo/runtime/string/strrchr.c +6 -0
  338. cimo-0.0.2/cimo/runtime/string/strspn.c +20 -0
  339. cimo-0.0.2/cimo/runtime/string/strstr.c +154 -0
  340. cimo-0.0.2/cimo/runtime/string/strtok.c +13 -0
  341. cimo-0.0.2/cimo/runtime/string/strxfrm.c +9 -0
  342. cimo-0.0.2/cimo/runtime/symbols.txt +200 -0
  343. cimo-0.0.2/cimo/wasm/__init__.py +183 -0
  344. cimo-0.0.2/cimo/wasm/link.py +325 -0
  345. cimo-0.0.2/cimo/wasm/pyodide.py +211 -0
  346. cimo-0.0.2/cimo/wasm/runtime/fma.c +16 -0
  347. cimo-0.0.2/cimo.egg-info/PKG-INFO +28 -0
  348. cimo-0.0.2/cimo.egg-info/SOURCES.txt +391 -0
  349. cimo-0.0.2/cimo.egg-info/entry_points.txt +2 -0
  350. cimo-0.0.2/cimo.egg-info/requires.txt +7 -0
  351. cimo-0.0.2/pyproject.toml +54 -0
  352. cimo-0.0.2/tests/test_abi.py +193 -0
  353. cimo-0.0.2/tests/test_amd64_fixes.py +183 -0
  354. cimo-0.0.2/tests/test_assembler.py +281 -0
  355. cimo-0.0.2/tests/test_assembler_amd64.py +428 -0
  356. cimo-0.0.2/tests/test_backend_edges.py +299 -0
  357. cimo-0.0.2/tests/test_backend_fold.py +49 -0
  358. cimo-0.0.2/tests/test_bench_gate.py +99 -0
  359. cimo-0.0.2/tests/test_cli.py +301 -0
  360. cimo-0.0.2/tests/test_constraints.py +248 -0
  361. cimo-0.0.2/tests/test_corpora.py +202 -0
  362. cimo-0.0.2/tests/test_cse.py +557 -0
  363. cimo-0.0.2/tests/test_diagnostics.py +225 -0
  364. cimo-0.0.2/tests/test_execution.py +561 -0
  365. cimo-0.0.2/tests/test_ext_kernels.py +128 -0
  366. cimo-0.0.2/tests/test_fma.py +284 -0
  367. cimo-0.0.2/tests/test_frontend.py +178 -0
  368. cimo-0.0.2/tests/test_inline.py +140 -0
  369. cimo-0.0.2/tests/test_isel.py +1082 -0
  370. cimo-0.0.2/tests/test_ldp_layout.py +148 -0
  371. cimo-0.0.2/tests/test_loader.py +225 -0
  372. cimo-0.0.2/tests/test_loader_amd64.py +149 -0
  373. cimo-0.0.2/tests/test_m2.py +182 -0
  374. cimo-0.0.2/tests/test_macos.py +212 -0
  375. cimo-0.0.2/tests/test_middle.py +211 -0
  376. cimo-0.0.2/tests/test_middle_random.py +66 -0
  377. cimo-0.0.2/tests/test_nowrap.py +211 -0
  378. cimo-0.0.2/tests/test_onefile.py +189 -0
  379. cimo-0.0.2/tests/test_passes_matter.py +62 -0
  380. cimo-0.0.2/tests/test_preprocessor.py +347 -0
  381. cimo-0.0.2/tests/test_regressions.py +478 -0
  382. cimo-0.0.2/tests/test_runtime.py +1021 -0
  383. cimo-0.0.2/tests/test_semantics.py +61 -0
  384. cimo-0.0.2/tests/test_simplify.py +1092 -0
  385. cimo-0.0.2/tests/test_site.py +16 -0
  386. cimo-0.0.2/tests/test_typing.py +44 -0
  387. cimo-0.0.2/tests/test_vector.py +285 -0
  388. cimo-0.0.2/tests/test_vectorize.py +207 -0
  389. cimo-0.0.2/tests/test_wasm.py +222 -0
  390. cimo-0.0.2/tests/test_windows.py +246 -0
  391. cimo-0.0.1/PKG-INFO +0 -13
  392. cimo-0.0.1/README.md +0 -5
  393. cimo-0.0.1/pyproject.toml +0 -11
  394. cimo-0.0.1/src/cimo/__init__.py +0 -2
  395. cimo-0.0.1/src/cimo.egg-info/PKG-INFO +0 -13
  396. cimo-0.0.1/src/cimo.egg-info/SOURCES.txt +0 -7
  397. {cimo-0.0.1/src → cimo-0.0.2}/cimo.egg-info/dependency_links.txt +0 -0
  398. {cimo-0.0.1/src → cimo-0.0.2}/cimo.egg-info/top_level.txt +0 -0
  399. {cimo-0.0.1 → cimo-0.0.2}/setup.cfg +0 -0
cimo-0.0.2/PKG-INFO ADDED
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.4
2
+ Name: cimo
3
+ Version: 0.0.2
4
+ Summary: A C compiler written in pure Python: C kernels in, machine code out.
5
+ Author: Fariz Rahman
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/farizrahman4u/cimo
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: C
10
+ Classifier: Topic :: Software Development :: Compilers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Requires-Python: >=3.9
13
+ Description-Content-Type: text/markdown
14
+ Provides-Extra: dev
15
+ Requires-Dist: pytest; extra == "dev"
16
+ Requires-Dist: black; extra == "dev"
17
+ Requires-Dist: isort; extra == "dev"
18
+ Requires-Dist: numpy; extra == "dev"
19
+ Requires-Dist: mypy; extra == "dev"
20
+
21
+ # cimo
22
+
23
+ A C compiler written in pure Python: compile freestanding C kernels at runtime and call them on
24
+ your numpy arrays, with no compiler, SDK or native dependency on the machine.
25
+
26
+ See the [project README](https://github.com/farizrahman4u/cimo#readme).
27
+
28
+ Development install, from this directory: `pip install -e '.[dev]'`
cimo-0.0.2/README.md ADDED
@@ -0,0 +1,8 @@
1
+ # cimo
2
+
3
+ A C compiler written in pure Python: compile freestanding C kernels at runtime and call them on
4
+ your numpy arrays, with no compiler, SDK or native dependency on the machine.
5
+
6
+ See the [project README](https://github.com/farizrahman4u/cimo#readme).
7
+
8
+ Development install, from this directory: `pip install -e '.[dev]'`
@@ -0,0 +1,5 @@
1
+ """cimo: a C compiler written in pure Python."""
2
+
3
+ from .driver import compile, load, Module, CompileError, KernelError
4
+
5
+ __version__ = "0.0.2"
@@ -0,0 +1,7 @@
1
+ """python -m cimo: the cimo command line."""
2
+
3
+ import sys
4
+
5
+ from .cli import main
6
+
7
+ sys.exit(main())