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

较旧版本的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版本中的旧转储吗?

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

引用您提供的页面:

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

您应该调查他们的新插件基础结构,这取决于您要实现的目标,您将处于更好的位置,解析调试日志并不意味着为您提供所需的信息。