我已经使用命令-fdump-tree-all和-fdump-rtl-all生成了转储输出文件,并且我获得了很多转储文件。我读到过GIMPLE中的代码是用伪C语法编写的,而RTL转储文件级别太低,难以理解。有什么方法可以理解GIMPLE和RTL转储文件吗?有没有软件可以把它转换成C代码或者其他有用的东西?有没有学习理解它的教程?谢谢
发布于 2015-08-06 04:52:43
最好的方法(对我来说)是丢弃一些例子,自己理解发出的代码。这并不困难,从原始代码中有一些改变(比如循环在if中用goto进行了转换),在gcc中有很多passes,我的建议是丢弃你需要的东西。在我的例子中,我经常使用以下命令:
-fdump-tree-lower
-fdump-tree-cfg
-fdump-tree-ssa
-fdump-tree-optimized (it's the last pass before going into rtl passes) rtl几乎是不可压缩的,它需要对该方言有很好的理解
https://stackoverflow.com/questions/31667006
复制相似问题