Size: a a a

Compiler Development

2021 April 03

M

MrSmith in Compiler Development
Я наверное не правильно обьяснил я говорю о компиляторе полностью контролируемым программистом вплоть до конкретных оптимизаций
источник

M

MrSmith in Compiler Development
Мечта с++ сера, тебе не нужно гадать тебе нужно смотреть и все
источник

M

MrSmith in Compiler Development
Я пытался еше год назад найти людей для bx и модельной реализации этого, но чет как то не поехало
источник

kO

kikimych O_O in Compiler Development
Так размотать что там произошло и чего как почему оптимизировало методом пристального взгляда может только человек с опытом разработки именно компилятора
источник

M

MrSmith in Compiler Development
Нет
источник

M

MrSmith in Compiler Development
Я это решил тоже
источник

kO

kikimych O_O in Compiler Development
Окей, вам виднее
источник

M

MrSmith in Compiler Development
Ну можете мне не верить, одно верно что надо понимать что такое loop unroling к примеру потому что иначе вы просто увидете как цикл оп и вместо одного тело копии его и немного другие коофиценты
источник

M

MrSmith in Compiler Development
Да не все это решается на самом деле ключевая идея линзы
источник

M

MrSmith in Compiler Development
Если компилятор это одна большая линза он становится двунаправленным транслятором тогда он и компилятор и декомпилятор и способен отображать оптимизации прямо на код
источник

M

MrSmith in Compiler Development
Тоесть вы пишите преобразование для llvm ir а способны ныблюдать его прямо на аст
источник

KR

K R in Compiler Development
Alexander Tchitchigin
Эти ограничения и огорчают. При этом результат диалога довольно посредственно сохраняется. Разве что в мейкфайле.
Реально до этого диалога дико далеко:

1. Поддержка диалога требует поддержки VCS - иначе на enterprise системах будет непонятно, что же хотели 10 лет назад.

2. Пример с С++ в том, что и так сложно.
источник

ДК

Дмитрий К in Compiler Development
MrSmith
Тоесть вы пишите преобразование для llvm ir а способны ныблюдать его прямо на аст
Там же выразительная мощность сильно разная. При понижении уровня абстракции теряется информация, которую неоткуда взять при повышении. А если её импринтить как мета инфу на низком уровне, то преобразования должны уметь с ней работать, что делает низкоуровневые трансформации бессмысленными, ибо проще сразу на высоком уровне и трансформировать. И это не говоря о том, что низкоуровневые трансформации на высоком уровне видеть вообще не хочется.
источник

M

MrSmith in Compiler Development
Дмитрий К
Там же выразительная мощность сильно разная. При понижении уровня абстракции теряется информация, которую неоткуда взять при повышении. А если её импринтить как мета инфу на низком уровне, то преобразования должны уметь с ней работать, что делает низкоуровневые трансформации бессмысленными, ибо проще сразу на высоком уровне и трансформировать. И это не говоря о том, что низкоуровневые трансформации на высоком уровне видеть вообще не хочется.
Да
источник

M

MrSmith in Compiler Development
Все верно
источник

M

MrSmith in Compiler Development
ну я не могу же все проблемы тут решить
источник

M

MrSmith in Compiler Development
Именно поэтому я копал теорию наименьшего изменения
источник

M

MrSmith in Compiler Development
Как бы да, понятно что с этим что то нужно делать
источник

M

MrSmith in Compiler Development
Давай в личку
источник

M

MrSmith in Compiler Development
Никому тут это я думаю особо не интересно
источник