使用 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/