Size: a a a

Compiler Development

2020 February 13

M

MaxGraey in Compiler Development
ну ее все же нужно обобщить и добавить правила для всех вариантов деления
источник

AZ

Alexander Zaitsev in Compiler Development
понятно, что обобщить надо :)
источник

AZ

Alexander Zaitsev in Compiler Development
со своей стороны я только два багрепорта могу создать :)
источник

M

MaxGraey in Compiler Development
Alexander Zaitsev
со своей стороны я только два багрепорта могу создать :)
Ну тоже не плохо) Можешь на примере FizzBuzz это продемонстрировать)
источник

E

EgorBo in Compiler Development
во, смотрите
источник

E

EgorBo in Compiler Development
источник

E

EgorBo in Compiler Development
оптимизация  (X % Y) % Y is just X % Y.
в одну строку дсл-я
источник

M

MaxGraey in Compiler Development
EgorBo
оптимизация  (X % Y) % Y is just X % Y.
в одну строку дсл-я
О, ну если есть такое, то оптимизация выше тоже должна быть воспринята на ура)
источник

E

EgorBo in Compiler Development
так не, я про джит говорил, в С++ же вагон таких оптимизаций и никто не напрягается
источник

E

EgorBo in Compiler Development
источник

E

EgorBo in Compiler Development
DAG Instruction Selection (llc)
источник

E

EgorBo in Compiler Development
занимается тем мракобесием.
но в принципе логично, не место для opt
источник

MM

Mikhail Maltsev in Compiler Development
Да, у GCC "мракобесие" тоже генерится в expand, т.е. при переходе от GIMPLE (аналог LLVM IR) к RTL (аналог Selection DAG и MachineInstr)
источник

E

EgorBo in Compiler Development
в гцц вроде вещи из дсл генерятся для разных фаз и для ловеринга и для обычных фаз
источник

E

EgorBo in Compiler Development
в этом вроде была идея дсл
источник

E

EgorBo in Compiler Development
генерить оптимизации для разных фаз из одного дсл
источник

E

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

E

EgorBo in Compiler Development
как в инсткомбайн так и в даге
источник

MM

Mikhail Maltsev in Compiler Development
Нет, деление генерится где-то тут: https://github.com/gcc-mirror/gcc/blob/master/gcc/expmed.c#L4190
источник

MM

Mikhail Maltsev in Compiler Development
В GCC несколько DSL. Есть "match and simplify", на котором написан match.pd - аналог InstCombine
источник