这些分析开关的适当用法是什么?

时间:2012-07-20 01:24:33

标签: gcc g++ profiling compiler-flags

我对GCC还很陌生,我想知道我究竟如何使用某些分析开关。

我已经阅读了-ftree-loop-ivcanon-fivopts的GCC手册条目(-fprofiled-generate/use都没有暗示这些条目),而且我对他们所做的事情有一个(相对)好的想法我不知道应该在哪里使用它们,或者我是否应该使用它们。

我应该在合并编辑中使用标志吗?

g++ Example.cxx -o Example.exe -Wall -ftree-loop-ivcanon -fivopts

仅限编辑?

g++ Example.cxx -o Example.o -c -Wall -ftree-loop-ivcanon -fivopts

或只是链接?

g++ Example.o -o Example.exe -Wall -ftree-loop-ivcanon -fivopts

启用性能分析时是否应该只使用这些标志,还是可以将它们与-On一起使用?

最后,如果我在分析时使用它们,我应该将它们与generate开关或use开关一起使用,还是两者兼而有之?

2 个答案:

答案 0 :(得分:1)

据我所知,您只能在编译中使用这些。

答案 1 :(得分:0)

-ftree-loop-ivcanon-fivopts只会影响编译,而不会影响链接,但我很确定除非您启用优化,否则它们不会执行任何操作,至少-O

您可能不需要使用它们,只需使用-O-O2-O3而不是调整个别或更具体的选项,除非您确切知道自己是什么试图实现并正在测量精确的效果。

如果您尝试使用配置文件引导优化,那么您肯定希望使用-O或更高的优化级别 - 如果您甚至不启用基本配置数据,则完全浪费时间优化基于配置文件数据优化,如内联和不断传播。