TB

  • Tilde (TB): An alternative to LLVM compiler backend library. Made by Yasser, believing LLVM is too slow and big to be fixed. Early tests show its C compiler preprocessor is around 2x faster than Clang's, can parse multiple translation units without threading issues and out-of-order declarations.
  • Key features: Sea of nodes IR, simple type system, fast compile times, thread-safe modules, Codeview debug info, capable of JITing and AOT with early work on directly outputting linked executables.
  • In progress: Working with GingerBill on integrating with [Odin] and Shaw Summa on [minivm]. Hoping to self-host Cuik this year, which will be the most capable example of TB. Optimizer is in progress with expected optimizations like SSA construction, SCCP, folding, GVN, DCE, and code motion, and a decent linear scan allocator that will be replaced with graph coloring.
  • Roadmap: Aim to have Cuik self-hosting on Windows by March 2024 as the first capable compiler under TB. Then spend the next few months on self-hosting with the optimizer on, with no specific timeline yet.
  • Compile times: A small demo can be run on different files. With the optimizer on in Cuik, it shows certain compile times. Compared with clang, it's not a fair test as LLVM doesn't consider IR generation in the backend and Cuik's IR generation time is only 0.3ms.
  • Contact ways: Reach Yasser via email, Discord, or Github repo.
阅读 9
0 条评论