c++ - 如何找出使用 gcc 时实际应用了哪些优化?

标签 c++ gcc compilation g++ compiler-optimization

使用 IBM 的 XL 编译器系列,可以提供两个选项(-qreport-qlist)来为每个源文件生成报告,其中包括关于哪些优化的信息应用了,或者代码的哪些部分无法优化(以及为什么)。

是否有可能获得关于 GNU 的 g++ 的类似报告 - 如果可以,该怎么做?

最佳答案

查看 -fdump-tree-[switch] 标志。您可以使用 -fdump-tree-all 来获取大量信息。

同样在trunk gcc -fopt-info-[options] 将让您访问更高级别的优化信息,例如当应用特定优化时,错过等,例如

-fopt-info-inline-optimized-missed

打印所有成功和错过的内联优化(在本例中为 stderr)。这显然是相当新的功能,所以我不确定它的支持程度。

在早期版本中,他们有 -ftree-vectorizer-verbose=n 现在已弃用,取而代之的是 opt-info。

这里列出了所有这些选项https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html尽管挑选有用的可能有点棘手。

关于c++ - 如何找出使用 gcc 时实际应用了哪些优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737371/

相关文章:

c++ - 编译 c++ 文件时得到 'Command not Found'

c++ - 如何使用 LDAP 对用户进行密码验证?

c++ - 如何从 C++ 中的资源文件加载游标组?

c - 头文件 (.h) 包含 gcc 的问题

c++ - 如何在二维数组中分配动态内存?

c++ - Red hat EnterPrise Edition 4 GCC 编译器支持带 BOM 的 utf8

c++ - 对编译时间常数感到困惑

c++ - 编译代码太快会出错

objective-c - 是否可以在Windows计算机上编译Objective-C,但对于Mac

java - 如何在 Wildfly 9 中启用 JSP 的即时编译?