gcc - 相当于 gcc 编译器的 pgcc "-Minfo="标志?

标签 gcc compiler-optimization pgcc

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

即:

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 是否有等效的编译器标志?

最佳答案

是的-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 

有关更多详细信息,请查看 online documentation .

关于gcc - 相当于 gcc 编译器的 pgcc "-Minfo="标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273244/

相关文章:

linux - 如何调试用 'make' 编译的程序?

c++ - 如果另一个指针指向它的引用,为什么 const int 不会被编译器(通过符号表)优化?

c++ - 算术运算是否会受到编译器优化的影响?

objective-c - 启用模块的 Prefix.pch?

c - 使用 openmp 使用 C 通过 openacc 在多个 GPU 上分配矩阵乘法工作

c - openACC 传递结构列表

gcc - 如何保证裸机 ARM 固定地址的入口功能?

C++,复制构造函数混淆

c - C中sizeof的内部机制?

android - PGC map 但没有条目