如何查看gcc优化选项?

时间:2018-09-22 21:56:28

标签: gcc compiler-optimization

我正在尝试找出关键的优化选项。首先,使用

gcc source.c -o test -O3 -Q -v

-Q -v列出启用的标志(-faggressive-loop-optimizations -falign-labels -fasynchronous-unwind-tables等)。然后,如果将这些标志直接提供给gcc而不是-O3,则结果程序的性能就是是否禁用了优化。

gcc文档指出

  

并非所有优化都直接由标记控制

这是问题还是我错过了其他事情?

1 个答案:

答案 0 :(得分:0)

不,很可能您没有错过任何东西。这篇文章对此进行了解释

How to get gcc -O1 optimization without specifying -O1

有些内部标志不能由用户控制,而是由-O1,-O2,-O3,-Os或-Ofast等全局优化标志激活的。

您可以通过先指定-O1而不是添加标志来尝试“欺骗”。但是仍然不能保证您将获得与首先使用-O3相同的效果。

简短版本-只是不要这样做。使用全局开关并根据需要打开/关闭单个标志。