3 ms·
How is it implemented? Via transpilation to C?
by nsajko 3y ago
How is it implemented? Via transpilation to C?
- FeepingCreature 3y agoTwo 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.