llvm のプログラムには-view-cfg
オプション ( docopt
) があり、プログラムを介して制御フロー グラフを表示できますdot
。しかし、ドットからポストスクリプトとしてレンダリングするには CFG が大きすぎます。xvcg
CFGを含む複雑なグラフを表示できるユーティリティがあることを私は知っています(そしてその人は「VCGツール-コンパイラグラフの視覚化」と言っています)。
では、llvm の CFG を xvcg 形式で出力するにはどうすればよいでしょうか。
llvm のプログラムには-view-cfg
オプション ( docopt
) があり、プログラムを介して制御フロー グラフを表示できますdot
。しかし、ドットからポストスクリプトとしてレンダリングするには CFG が大きすぎます。xvcg
CFGを含む複雑なグラフを表示できるユーティリティがあることを私は知っています(そしてその人は「VCGツール-コンパイラグラフの視覚化」と言っています)。
では、llvm の CFG を xvcg 形式で出力するにはどうすればよいでしょうか。
LLVM から .vcg ファイルを直接生成するには、GraphViz 固有のGraphWriterに大幅な変更を加える必要があります。代わりに、最も簡単な解決策は、(-dot-cfg
の代わりに を介して)ドットファイルを保存し、 Graph-Easy の-view-cfg
ようなものを使用して変換することです。そのドキュメントから(強調鉱山):
次の形式を入力として認識します。
- グラフ::簡単 http://bloodgate.com/perl/graph/manual/
- ドット http://www.graphviz.org/
- VCG http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html
- GDL http://www.aisee.com/
出力は、次のいずれかの形式のグラフのダンプです。
ところで、大量のグラフを取得したいが、大量のドット ファイルを生成する前にグラフを表示したい場合は、ファイルを保存できるドット ビューアの使用を検討してください。これには、私の xdot.py のフォークなどがあります。さらによいのは、xdot.py
Graph-Easy を使用して、.vcg 形式自体で保存する方法を認識できるように変更することです。
Graph-Easy の別の代替手段はdot2gdlのようです。