{"repo":"HPCguy/Squint","free":true,"listed":false,"github":"https://github.com/HPCguy/Squint","clone":"git clone https://github.com/HPCguy/Squint.git","description":"Squint: A peephole optimizer for stack VM compilers","language":"C","stars":37,"topics":["peephole","optimizing-compiler","c-compiler","dynamic-linking","jit-compiler","compiler","floating-point","aarch32","single-file","assembly"],"license":null,"category":"self-hosted-apps","readme_excerpt":"Squint: A peephole optimizer for stack VM compilers Introduction (Updated June 2025) Short summary: This repo contains a highly functional, but not quite complete, C compiler (mc.c) that supports JIT execution, ELF executable generation, dynamic linking, and peephole optimization. mc.c is a follow-on to the AMaCC compiler. See the AMaCC documentation referenced below for more information. This compiler was developed on a Cortex-A72 Raspberry Pi computer running 32 bit Buster Linux, but will also run in an aarch64 OS environment with an arm-linux-gnueabihf-gcc (cross) compiler installed. Finally, see the \"Discussion\" tab above for instructions on using this compiler with an ARM Chromebook. A debugger has recently been added as outlined below [!IMPORTANT] The mc compiler (extended version of AMaCC compiler) is relatively bug free. That said, the optimizer that lives inside the compiler (squint) can be buggy, so I recommend running non-optimized, or using a commercial compiler, to compare. Quick-Start Further Introduction This compiler supports the following features beyond AMaCC: Float data type (AMaCC is an integer-only based compiler). Array declarations and initializers. (e.g. float foo[4][4] = { { 0.0, ... }, { 0.0 ... }, ... }; The Squint peephole optimizer that roughly halves the number of executable instructions in compiled code . The tests/sieve.c benchmark provides an optimization example, and runs roughly 6x faster after peephole optimization . Greatly improved type c","default_branch":null,"files":null,"tree":[],"storefront":"/r/HPCguy","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HPCguy/Squint/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}