VLIWアーキテクチャ (またはItanium のようなEPIC ) の強力なサポートが LLVM コンパイラ インフラストラクチャに存在することをご存知ですか?
これに関する適切なドキュメント/スライド資料はありますか?
現在、ベースLLVMには適切なVLIWサポートがありません。/ 2010-11
いくつかの有用な投稿:http: //old.nabble.com/VLIW-Scheduling-td857833.html
http://old.nabble.com/vliw-compatability-td27935919.html
更新/2012-01
LLVMは、ターゲットに依存しないコードジェネレーターサポートインフラストラクチャに「VLIWパケタイザー」(別名DFApacketizer)の初期サポートを 追加しました( 3.0リリース以降のようです; Anshuman Dasguptaによる):http: //llvm.org/docs/CodeGenerator.html#vliw_packetizer
VLIWターゲットのテーブルを生成するには、ターゲットとしてTargetGenDFAPacketizer.incをターゲットディレクトリのMakefileに追加します。エクスポートされたAPIは、次の3つの機能を提供します。
これらの関数を使用すると、ターゲットのパケタイザーは既存のパケットに命令を追加し、その命令をパケットに追加できるかどうかを確認できます。詳細については、を参照
llvm/CodeGen/DFAPacketizer.h
してください。
2011年12月2日からのメーリングリストcom.googlegroups.llvm-devのEvanChengによるLLVMスレッドのMachineInstructionBundleは、基本的なLLVM VLIW(バンドル)サポートについて説明しています。それらはLLVM3.1に含まれる予定であり、ここに文書化されています。
また、3.1では「VeryLong Instruction Word(VLIW)アーキテクチャのバンドルをサポートする新しいTableGenインフラストラクチャ」。が追加されます。
現在、LLVMに基づくVLIWコンパイラがいくつかあります。しかし、ターゲットに依存しない(一般的な)VLIWサポートは、その長い道のりの始まりにあります。
更新2012/12
Quicからいくつかのスライドがあります:http://llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf