Phoenix のご紹介

今回は Phoenix というコードネームを持つ開発中のコンパイラ技術をご紹介させていただきます。

Phoenix は、マイクロソフト リサーチ、Microsoft Visual C++ バックエンド チーム、およびマイクロソフト コモン ランゲージ(CLR) チーム が共同で開発したフレームワークであり、今後のマイクロソフトのコンパイラ技術の核となるものです。

現在使われているマイクロソフトのいくつかのコンパイラも Phoenix を用いて作られるコンパイラで置き換えられるものと考えられています。

Phoenix のフレームワークには、コードの解析、最適化等を行うコンポーネントばかりではなく、バイナリ生成に関するコンポーネントまで含まれます。つまり、ユーザーは Phoenix を用いることによって、コードの解析、最適化を行うツールのみならず、コンパイラそのものを作成することも可能となります。

開発中の Phoenix のバージョンは、RDK (Research Development Kit) として既に公開されており、非商業利用目的であれば下記のサイトからダウンロードしてお試しいただくことが可能となっています。

但し現時点では英語版のみとなっております。

https://research.microsoft.com/phoenix/technical.aspx

この Phoenix RDK には、Phoenix をベースとして作成された拡張可能なネイティブ コンパイラ バックエンド c2.exe が付属しています。

この c2.exe は、プラグインをサポートしており、コンパイル時のデフォルトの動作を簡単に変更することを可能としています。

プログラムの最適化、解析を考えている場合には、まず c2.exe 用のプラグインの作成を検討することとなるでしょう。

プラグインの作成は、Phoenix RDK インストール後に Visual Studio に追加されるc2 phase プロジェクトウィザードを用いることにより簡単に始めることができます。Phoenix RDK に付属の walkthrough ではプラグインの作成方法がステップバイステップで記述されていますので、詳しくはそちらをご参照ください。

Phoenix RDK には多くのサンプルが付属しています。これらを参照いただければ Phoenix の可能性を知ることができることと思います。

もしご興味があれば、Phoenix RDK をインストールして最新のコンパイラ技術に触れてみてください。

**

コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。