Как включить единые флаги оптимизации в gcc?

76
10

При использовании gcc можно ли включить отдельные флаги оптимизации без указания уровня -O?


gcc -ffasst-math foo.c

ИЛИ


gcc -O1 -ffast-math foo.c

Какой из них работает?
Спасибо!

спросил(а) 2012-03-30T15:38:00+04:00 9 лет назад
1
Решение
136

Да, вы можете включить отдельные флаги оптимизации.


Информация на странице gcc man:


-O


-O включает следующие флаги оптимизации:


-fauto-inc-dec -fcprop-registers -fdce -fdefer-pop -fdelayed-branch -fdse -fguess-branch-chance -fif-conversion2 -fif-conversion -finline-small-functions -fipa-pure- const -fipa-reference -fmerge-константы -fsplit-wide-types -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse - ftree-fre -ftree-sra -ftree-ter -funit-at-time

-O также включает -fomit-frame-pointer на машинах, где это не мешает отладке.


-ffast-математика


Устанавливает -fno-math-errno, -funsafe-math-optimizations, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans и -fcx-limited-range.
Этот параметр вызывает определение макроса препроцессора " FAST_MATH".


Эта опция не включена какой-либо опцией -O, так как это может привести к некорректному выходу для программ, которые зависят от точной реализации правил/спецификаций IEEE или ISO для математических функций. Тем не менее, он может получить более быстрый код для программ, для которых не требуются гарантии этих спецификаций.

ответил(а) 2012-03-30T15:44:00+04:00 9 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема