Tilde
Cuik(「クイック」と発音する)は、GCC、MSVC、LLVMを置き換えるために作られた新しい高速コンパイラー・ツールチェーン。 C11フロントエンドは1つのライブラリ(libCuik)。バックエンド(tb)は別々にコンパイルできる チルダ(Tilde)・バックエンドを意味する TB という省略名が使われている
LLVMのAPI互換性のある代替品ではなく、初期のLLVMと同じようなビジョンを信じているただのバックエンド その理由はとても単純で、コンパイルが遅すぎるし、内部から修正するには大きすぎるからだ。 もう20年も経つし、ゴミも溜まってきた。
主な特徴
Sea of nodes IR(LLVMやGCCのSSA CFGとは対照的) シンプルな型システム
高速コンパイル
スレッドセーフなモジュール(同時に2つの関数を生成してコンパイルできる)
Codeviewデバッグ情報(ウィンドウズ・デバッガで問題なく扱える)
JITとAOTの両方が可能(リンクされた実行可能ファイルを直接出力し、従来のリンカーを回避する初期の研究もある) 進行中の作業
これと並行して、オプティマイザーも進行中で、期待される最適化の大部分とともに順調に進んでいる。SSA構築、SCCP、折りたたみ、GVN、DCE、コード・モーション、そして、最終的には最適化されたビルドのためのグラフ・カラーリングに置き換えられる予定の、まともな線形スキャン・アロケーターがある。
リポジトリ
関連: