Size: a a a

Compiler Development

2020 March 09

KR

K R in Compiler Development
MaxGraey
Так это там все и не нужно)
Позвольте не поверить.
источник

M

MaxGraey in Compiler Development
pretty printing зачем? Там ноды и граф
источник

M

MaxGraey in Compiler Development
текст там - это inline поля только
источник

KR

K R in Compiler Development
Есть море методов уложить граф. Даже дерево можно укладывать в разные стороны, с разных сторон (вид сбоку и вид с кроны - он же map, он же s-expressions)
источник

KR

K R in Compiler Development
В смысле, S-expressions - это вид на AST снизу.
источник

M

MaxGraey in Compiler Development
Теперь насчет того как это представлять в структурном виде, сериализовать и десериализовывать, то есть куча способов. Самый простой наверное это JSON, или fbp:
https://github.com/flowbased/fbp-spec
источник

KR

K R in Compiler Development
Без хороших средств поиска замены подграфов мы сильно ограничены в размерах графов.

А рефакторинг - это выделение подграфов в качестве отдельных блоков и наоборот, например.
источник
2020 March 10

M

MaxGraey in Compiler Development
Шланг опять читерит:
https://godbolt.org/z/p2gguW

Какого черта он повыкидывал проверки? Из-за этого валятся спек тесты на Clang-е, и проходят только на GCC
источник

M

MaxGraey in Compiler Development
Можно конечно вымучать и из Шланга нормальное поведение добавив  -frounding-math. Но это работает только для trunk 😂

https://godbolt.org/z/MB3bxj
источник

AK

Andrei Kurosh in Compiler Development
@EgorBo а CLR JIT заменяет выражения вида x/0.5 на x*2?
источник

AK

Andrei Kurosh in Compiler Development
И вообще насколько это допустимо и осмысленно?
источник

E

EgorBo in Compiler Development
Andrei Kurosh
@EgorBo а CLR JIT заменяет выражения вида x/0.5 на x*2?
да
источник

E

EgorBo in Compiler Development
cмысла - хз, это просто бесплатно подъехало после оптимизации / 2 что давольно часто
источник

AK

Andrei Kurosh in Compiler Development
Спасибо, понял )
источник

E

EgorBo in Compiler Development
а х*2 в свою очередь развернется в х+х :D
источник

p

polunin.ai in Compiler Development
Ну если не заменять, то число посчитается во флоате и при переводе в инт там может быть 646.999999 которое округлится к 646?
источник

E

EgorBo in Compiler Development
polunin.ai
Ну если не заменять, то число посчитается во флоате и при переводе в инт там может быть 646.999999 которое округлится к 646?
где перевод в инт?
источник

p

polunin.ai in Compiler Development
А, ну конкретно тут нет
источник

E

EgorBo in Compiler Development
кстати умножение и сложение флотов - одинаково быстрые операции
источник

E

EgorBo in Compiler Development
по латенси и пропускной
источник