Эквивалент флага pgcc "-Minfo=" для компилятора gcc?

Я только что обнаружил хороший флаг "-Minfo=" в pgcc, который выводит все оптимизации, которые делает компилятор.

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?

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 

Для более подробной информации смотрите онлайн документацию.

Другие вопросы по тегам