3

-fdump-tree-allコマンドを使用してダンプ出力ファイルを生成し-fdump-rtl-allましたが、多くのダンプ ファイルを取得しました。GIMPLE のコードは疑似 C 構文であり、RTL ダンプ ファイルは低レベルすぎて理解できないと読みました。GIMPLE と RTL のダンプ ファイルを理解する方法はありますか? それをCコードまたは何か便利なものに変換できるソフトウェアはありますか? それを理解することを学ぶためのチュートリアルはありますか? ありがとう

4

1 に答える 1

4

(私にとって)それを行う最善の方法は、いくつかの例をダンプし、出力されたコードを自分で理解することです。難しいことではありません。元のコードからいくつかの変更があり (goto を使用するとサイクルが変換されるなど)、gcc には多くのパスがあり、私のアドバイスは必要なものをダンプすることです。私の場合、次のコマンドを頻繁に使用します。

-fdump-tree-lower    
-fdump-tree-cfg     
-fdump-tree-ssa 
-fdump-tree-optimized (it's the last pass before going into rtl passes)  

rtl はほとんど圧縮できないため、その方言について十分に理解する必要があります。

于 2015-08-05T20:52:42.850 に答える