Включение трансформации
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2020 г. ) |
В информатике — разрешающее преобразование это оптимизация компилятора , которая повышает эффективность других оптимизаций компилятора. Такая оптимизация может улучшить или не улучшить производительность программы сама по себе, но она также изменяет структуру программы таким образом, что другие оптимизации могут дать превосходные результаты. Типичные благоприятные преобразования включают в себя:
- Встроенное расширение : вставляя тело функции вместо места ее вызова, можно выполнить большой набор внутрипроцедурных оптимизаций, таких как устранение мертвого кода , движение инвариантного к циклу кода и устранение индукционных переменных, которые могут использовать информацию как от вызывающего, так и от вызываемого объекта. .
- Перекос цикла : «искажая» логическую форму массива, эта оптимизация цикла может (в сочетании с обменом циклами ) устранить зависимости, переносимые циклом , позволяя распараллелить внутренний цикл. [ нужна ссылка ]
- Отключение цикла перемещает инварианты цикла из цикла, уменьшая количество условных ветвей в каждом цикле. [1]
Ссылки
[ редактировать ]- ^ Кейт Купер; Линда Торчон (2004). Разработка компилятора . Эльзевир. стр. 520–. ISBN 978-1-55860-698-2 .