3

我刚刚在 pgcc 中发现了一个不错的“-Minfo=”标志,它输出编译器正在进行的所有优化。

IE:

pgcc -c -pg -O3 -Minfo=all -Minline    -c -o example.o example.c
run:
 55, Memory zero idiom, loop replaced by call to __c_mzero8
 91, Memory zero idiom, loop replaced by call to __c_mzero8
pgcc -c -pg -O3 -Minfo=all -Minline    -c -o controller.o controller.c
main:
 82, second inlined, size=4, file controller.c (113)
 84, second inlined, size=4, file controller.c (113)

GCC是否有等效的编译器标志?

4

1 回答 1

1

是的,有-fopt-info就是你要找的。

gcc -O3 -fopt-info example.c -o example

或者等效地你可以做

gcc -O3 -fopt-info-all=all.dat example.c -o example

将所有优化信息输出到文件all.dat。您还可以通过如下方式指定您想要的优化信息-fopt-info-options

-fopt-info-loop                 # info about all loop optimizations  
-fopt-info-vec                  # info about auto-vectorization
-fopt-info-inline               # info about function inlining
-fopt-info-ipa                  # info about all interprocedural optimizations  

如果您愿意,您可以通过告诉gcc仅转储有关loops/inlinings/vectorizations已优化或遗漏的 信息来获得更具体的信息

-fopt-info-inline-optimized     # info only about functions that were inlined
-fopt-info-vec-missed           # info only about vectorizations that were missed
-fopt-info-loop-note            # verbose info about loop optimization 

有关更多详细信息,请查看在线文档

于 2015-09-20T16:02:44.610 回答