6

llvm のプログラムには-view-cfgオプション ( docopt ) があり、プログラムを介して制御フロー グラフを表示できますdot。しかし、ドットからポストスクリプトとしてレンダリングするには CFG が大きすぎます。xvcgCFGを含む複雑なグラフを表示できるユーティリティがあることを私は知っています(そしてそのは「VCGツール-コンパイラグラフの視覚化」と言っています)。

では、llvm の CFG を xvcg 形式で出力するにはどうすればよいでしょうか。

4

1 に答える 1

8

LLVM から .vcg ファイルを直接生成するには、GraphViz 固有のGraphWriterに大幅な変更を加える必要があります。代わりに、最も簡単な解決策は、(-dot-cfgの代わりに を介して)ドットファイルを保存し、 Graph-Easy の-view-cfgようなものを使用して変換することです。そのドキュメントから(強調鉱山):

次の形式を入力として認識します。

出力は、次のいずれかの形式のグラフのダンプです。

ところで、大量のグラフを取得したいが、大量のドット ファイルを生成する前にグラフを表示したい場合は、ファイルを保存できるドット ビューアの使用を検討してください。これには、私の xdot.py のフォークなどがあります。さらによいのは、xdot.pyGraph-Easy を使用して、.vcg 形式自体で保存する方法を認識できるように変更することです。

Graph-Easy の別の代替手段はdot2gdlのようです。

于 2013-06-12T10:58:07.670 に答える