旧版本的 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 版本中的旧转储吗?
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.
您应该调查他们的新插件基础设施。根据您想要实现的目标,您将比解析调试日志更好,而不是为您带来您想要的信息。