Zig Tricarbonate compiler.
Currently in alpha status. Unless you’re interested in helping out, there’s not much to see here right now.
The analysis pipeline rework was just completed (5/10/21). Currently working on integration with scas for assembly,
zyg test driver, so that we can start getting upstream behavior tests passing.
- Simple compiler
- No LLVM
- Incremental compilation via object file cache
- Optional multiprocessing, one process per input file
- No shared address space, and no dependencies, so no data races
- Fast to compile
- Five seconds on Linux on the PineBook Pro
- Two seconds on Plan 9 on the RPi 3 with two of the four cores disabled
- Full conformance
- No features not present in the zig language will be supported
- Some features may be left unimplemented if they aren’t desired - but those features which are supported will conform 100%
- Possibly become the zig bootstrap compiler
- Simple optimizations such as CSE and inlining
- callconv(.Inline) is already supported, deciding to inline unmarked functions is not yet
- Prioritize lightning-fast compilation over marginal runtime improvements