Size: a a a

Compiler Development

2020 December 09

t

trsfrm2smgen in Compiler Development
Только С++ виде
источник

t

trsfrm2smgen in Compiler Development
Liber Azerate
Но на всякий случай, есть ли что-то получше этого? Ещё бы с примерами хорошо. Ибо не совсем понимаю как им пользоваться в таком виде
https://llvm.org/doxygen/classllvm_1_1IRBuilder.html
Пожалуйста работайте с классом Instruction и его подклассами и с BasicBlock,только муторно это будет
источник

t

trsfrm2smgen in Compiler Development
trsfrm2smgen
Пожалуйста работайте с классом Instruction и его подклассами и с BasicBlock,только муторно это будет
Можно ещё во внутренние api полесть
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
В общем не хочется думать о С++ как о языке, последнюю версию стандарта которого можно использовать только после того, как она перестанет быть последней.
но так и есть - сейчас начинают переход на с++17 во многих местах, еще больше начинают переход на с++11
источник

t

trsfrm2smgen in Compiler Development
Но я думаю это как изобретать велосипед
источник

LA

Liber Azerate in Compiler Development
trsfrm2smgen
Пожалуйста работайте с классом Instruction и его подклассами и с BasicBlock,только муторно это будет
Так что именно вы рекомендуете и что конкретно посмотреть?
источник

M

MaxGraey in Compiler Development
Berkus Decker
но так и есть - сейчас начинают переход на с++17 во многих местах, еще больше начинают переход на с++11
C++11 и C++17 не сильно так и отличаються, просто немного больше сахара будет
источник

t

trsfrm2smgen in Compiler Development
Liber Azerate
Так что именно вы рекомендуете и что конкретно посмотреть?
llvm IR,IRBuilder examples,IRBuilder src code
источник

t

trsfrm2smgen in Compiler Development
trsfrm2smgen
llvm IR,IRBuilder examples,IRBuilder src code
Вот берете и гуглите
источник

LA

Liber Azerate in Compiler Development
trsfrm2smgen
Вот берете и гуглите
Хорошо, спасибо
источник

t

trsfrm2smgen in Compiler Development
А так вот вам доки
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Я нормально линкуюсь clang'ом с libstdc++ на Линуксе (Open SUSE). StdLibа это часть языка, но наверное не часть компилятора. Можно собрать clang, слинкованный libc++ и при этом не заставлять его с нею линковать, ну или собрать clang так, чтобы он линковал с libc++. Здесь все довольно гибко.
ты компилируешь тоже с тем же libstdc++ наверное, а то что собиралось с libc++ будет бинарно несовместимо.
источник

BD

Berkus Decker in Compiler Development
MaxGraey
C++11 и C++17 не сильно так и отличаються, просто немного больше сахара будет
И как это связано с тем что некоторые начинают переходить на с++11? Они не будут переходить на с++17 еще несколько лет.
источник

t

trsfrm2smgen in Compiler Development
Liber Azerate
Хорошо, спасибо
источник

LA

Liber Azerate in Compiler Development
Ещё раз благодарю :)
источник

t

trsfrm2smgen in Compiler Development
Liber Azerate
Ещё раз благодарю :)
а дальше только поможет практика и изучение исходников LLVM, знание STL и метапрограммирование основанное на C++ шаблонах,так как оно там юзается по всюду .
источник

LA

Liber Azerate in Compiler Development
trsfrm2smgen
а дальше только поможет практика и изучение исходников LLVM, знание STL и метапрограммирование основанное на C++ шаблонах,так как оно там юзается по всюду .
Ну, всё последнее я в принципе знаю на достаточном уровне как раз, это с первым не очень... Пока. Решил, что это будет интересным заданием сделать с LLVM IR, в частности для изучения
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
ты компилируешь тоже с тем же libstdc++ наверное, а то что собиралось с libc++ будет бинарно несовместимо.
Да, но компилятор при этом clang а не gcc
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
но так и есть - сейчас начинают переход на с++17 во многих местах, еще больше начинают переход на с++11
Там все же конечное приложение, а не библиотека авторы свободнее в выборе поддержки платформ
источник

BD

Berkus Decker in Compiler Development
Pavel Samolysov
Да, но компилятор при этом clang а не gcc
да, но мне лень сейчас описывать все подводные камни, реально
источник