Firm ライブラリは、Firm 中間表現 (ir) を実装します。 Firm の古い説明は [TLB:99] にあります。
libFirm には、属性付き構文ツリーから直接 SSA フォームを構築するためのアルゴリズムが含まれています。一連の分析および最適化フェーズが提供されます。このバージョンには、IA32 および SPARC アーキテクチャの完全なバックエンドに加え、MIPS、ARM、および AMD64 の未完成のバックエンドが含まれています。
ビルドの前提条件:
ソースディレクトリに「make」と入力するだけです。結果は「build」というディレクトリに保存されます。 「config.mak」ファイルを作成することで、既存のプリプロセッサ、コンパイラ、およびリンカーのフラグをオーバーライドできます。
libFirm には追加の cmake ビルド システムがあります。 CMake は make ベースのビルド システムよりも複雑なビルド システムであり、ほとんどの libFirm 開発者はそれを使用しません。ただし、コンパイラとリンカーのフラグを調整して、より広範囲のシステム用の共有ライブラリを構築でき、インストール ターゲットを提供するため、配布用のパッケージを準備する人々にとっては、より馴染みのあるものであることがよくあります。
include/libfirm/ # public API
ir/ # nearly all the code
ir/adt/ # containers and other generic data types
ir/ana/ # analysis (for optimizations)
ir/be/ # backends (x86, sparc, amd64, etc)
ir/common/ # utility stuff
ir/ident/ # identifier data structure
ir/ir/ # core data types of intermediate representation
ir/kaps/ # PBQP solver
ir/libcore/ # utility stuff
ir/lower/ # lowering phases from high-level to low-level mechanisms
ir/lpp/ # interface for external ILP solvers
ir/obstack/ # arena memory allocator
ir/opt/ # optimization phases
ir/stat/ # statistics
ir/tr/ # type representation
ir/tv/ # target values (architecture-independent arithmetic)
scripts/ # generator scripts, firm node specification
unittests/ # unittests
build/ # build system generates stuff here
公式ウェブサイト:http://libfirm.org/
連絡先電子メール:[email protected]
メーリングリスト: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
バグトラッカー: http://pp.ipd.kit.edu/~firm/bugs
インターネットリレーチャット: #firm
( irc.libera.chat