我需要一个树转储选项,它在当前的gcc版本中不再存在

时间:2010-01-29 11:31:35

标签: c++ c gcc compiler-construction

旧版本的gcc(例如4.0.2或4.1.2)具有选项-df(请参阅http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Debugging-Options.html#index-fdump_002drtl_002dcfg-357)。我使用此选项来转储文件filename.c.134r.life2filename.c.126r.life1,因为我想从这些文件中提取一些值(例如每个方法的寄存器计数)。

问题是,在当前版本的gcc(例如4.2.2)中,此选项不再存在。还有其他选项,名为filename.c.135r.jump的树转储几乎相同。但是这个转储中的寄存器计数也丢失了,我找不到具有该值的转储。

是否还有一个参数,它为我提供了当前gcc版本中的旧转储?

2 个答案:

答案 0 :(得分:2)

Gcc 4.2-4.3确实有dump_flow_info函数,它报告使用的寄存器数量。 我会搜索,它是如何被调用的。

哦,是的:

 gcc-4.3.1 file.c -fdump-rtl-all-all

产生

file.c.175r.lreg

file.c.175r.lreg:81 registers.

更具体的选项:-fdump-rtl-lreg-all。测试4.3

答案 1 :(得分:0)

引用您提供的页面:

[the dump options are] used for debugging the RTL-based passes of the compiler.

您应该调查他们的新插件基础架构,具体取决于您要实现的目标,您可以更好地解析调试日志并不意味着为您提供所需的信息。