Эквивалент флага 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
Для более подробной информации смотрите онлайн документацию.