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

问题描述 投票:0回答:2

旧版本的 GCC(例如 4.0.2 或 4.1.2)有选项

-df
(请参阅 调试程序的选项或 4.1.2 的 GCC)。我使用此选项转储文件 filename.c.134r.life2
filename.c.126r.life1
,因为我想从这些文件中提取一些值(例如每个方法的寄存器计数)。

问题是,在当前版本的 GCC(例如 4.2.2)中,此选项不再存在。还有其他选项,并且名为

filename.c.135r.jump

 的树转储几乎相同。但此转储中也缺少寄存器计数,而且我找不到具有该值的转储。

还有一个参数可以给我当前 GCC 版本中的旧转储吗?

c++ c gcc
2个回答
3
投票
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
投票
引用您提供的页面:

[the dump options are] used for debugging the RTL-based passes of the compiler.
您应该调查他们的新插件基础设施。根据您想要实现的目标,您将比解析调试日志更好,而不是为您带来您想要的信息。

© www.soinside.com 2019 - 2024. All rights reserved.