3 ms·
Two backends: - LLVM is a proper SSA backend, it just uses the llvm-c API to generate bc modules, like any other LLVM-based compiler. It technically links with
by FeepingCreature 3y ago
Two backends:
- LLVM is a proper SSA backend, it just uses the llvm-c API to generate bc modules, like any other LLVM-based compiler. It technically links with clang, but that's just cause I didn't want to set up my own link driver and optimization pipeline.
- GCC is technically "transpiling" to C, but the generated C files are unreadable, because it's still SSA.
The GCC backend is also used to build the releases. I just build the compiler with the GCC backend, then zip up all the .c files that it produced.
That's why the release build script starts by building a bunch of C files.