linux.optimization.table

Original file

компилятор
действие
MicrosoftVisualC++ 6Intel C++ 8.0 GCC 3.3.4
свертка константвсегда сворачиваетвсегда сворачиваетвсегда сворачивает
объединение константникогда не объединяетобъединяет идентичные строковые и вещественные константывычисляет
константная подстановка в условияхподставляетне подставляетподставляет
свертка функцийсворачивает только встраиваемые с ключом -ipo сворачивает всесворачивает только встраиваемые
удаление мертвого кодаудаляет только в основной веткеудаляетудаляет только в основной ветке
удаление неиспользуемых функцийникогда не удаляет удаляет с ключом –ipoникогда не удаляет
удаление неиспользуемых переменныхудаляет с все неявно неиспользуемые отслеживанием генетических связейудаляет с все неявно неиспользуемые отслеживанием генетических связейудаляет с все неявно неиспользуемые отслеживанием генетических связей
удаление неиспользуемых выраженийудаляетудаляетудаляет
удаление лишних обращений к памятине удаляетне удаляетне удаляет
удаление копий переменныхудаляетудаляетудаляет
размножение переменныхне размножаетразмножаетне размножает
распределение переменных по регистрамраспределяет отличнораспределяет плохораспределяет средне
реассоциацирует регистрыне реассоцируетреассоцируетне реассоцирует
алгебраическое упрощение выраженийв большинстве случаев выполняет упрощениеупрощает простые и некоторые сложные выраженияупрощает простые выражения
упрощение алгоритмаупрощает некоторые операцииникогда не выполняетникогда не выполняет
использование подвыраженийраспознает явные подвыражения только в основной веткераспознает все явные и частично неявные подвыражения во всех веткахраспознает явные подвыражения во всех ветках