Re: Как ассемблер решает задачу оптимизации?
От: alpha21264 СССР  
Дата: 15.12.21 15:11
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>В процессе генерации кода создаются блоки инструкций разных длин.

ЭФ>Эти блоки разделяются командами переходов разных длин.

А ты не хочешь подумать в сторону оптимального расположения блоков инструкций?
Какая ветка должна быть продолженем, а какая переходом?

Течёт вода Кубань-реки куда велят большевики.
Re[11]: Как ассемблер решает задачу оптимизации?
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.12.21 12:31
Оценка:
Здравствуйте, Pzz, Вы писали:
Pzz>Что до whole program optimisation, ее невозможно делать до линковки. Как это сейчас устроено, я подробно не изучал, возможно, это делает линкер (что неудобно, потому что линкер из простой программы сразу становится очень сложным),
Именно так и делается. Для LTCG компилятор вместо бинаря порождает OBJ файлы с IL-представлением. А линкер после сборки всей программы скармливает её в бэк-енд. Сам по себе он не особо то и усложняется, т.к. back-end — это динамически подгружаемая библиотека. Принципиальной разницы, вызывать ли её из "компилятора" или из "линкера", нету.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.