Qiita3日目の記事です。先日、Rustの開発者フォーラムに新しいバックエンドしてcretonneが提案されていました。気になったのでそれを紹介します。概略GitHubドキュメントフォーラムによると、WebAssemblyをエンコードするために作られたコンパイラバックエンドで、FirefoxのJSエンジンであるSpiderMonkeyに載せる予定だそうです。JITが主な目的?LLVMのように最適化を頑張る方ではなくてコードを吐くまでのレイテンシを気にして作られているとのこと。cretonne自身は最適化を行いません。selectionをするとISA固有のアノテーションが付く最大抽象単位が関数(LLVMはモジュール)。cretonneは関数のインライン化とかもしない。