如何分析GIM内部表示,如GIMPLE,RTL

时间:2015-07-28 03:43:59

标签: gcc dump gimple

我使用命令-fdump-tree-all-fdump-rtl-all生成了转储输出文件,我收到了很多转储文件。我已经读过GIMPLE中的代码是伪C语法,而RTL转储文件的级别太低而无法理解。有没有办法了解GIMPLE和RTL转储文件?任何可以将其转换为C代码或有用的软件?任何学习理解它的教程?谢谢

1 个答案:

答案 0 :(得分:2)

最好的方法(对我而言)是转储一些示例并自己理解发出的代码。这并不困难,原始代码有一些变化(如果使用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几乎是不可压缩的,需要对该方言有很好的理解