The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз набора компиляторов LLVM 10.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от opennews (ok), 26-Мрт-20, 10:44 
После шести месяцев разработки представлен релиз проекта LLVM 10.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52611

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]

Часть нити удалена модератором

3. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Корец (?), 26-Мрт-20, 10:54 
Фрактал, ты снова тут набрасываешь? У каждого своё понятие свободы :) Зато благодаря наличию разных лицнзий есть выбор. Это плохо?
Ответить | Правка | Наверх | Cообщить модератору

9. "Релиз набора компиляторов LLVM 10.0"  +8 +/
Сообщение от Аноним (9), 26-Мрт-20, 11:08 
>У каждого своё понятие свободы :)

Работники министерств правды и любви с вами не согласны.

Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от Lorik (?), 26-Мрт-20, 12:39 
Это не тот фрактал, который некоторое время назад на лоре чудил?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

26. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от Корец (?), 26-Мрт-20, 13:06 
А разве есть другой? Его оттуда выгнали, теперь тут чудит.
Ответить | Правка | Наверх | Cообщить модератору

28. Скрыто модератором  –3 +/
Сообщение от Аноним (-), 26-Мрт-20, 13:16 
Ответить | Правка | Наверх | Cообщить модератору

53. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (53), 26-Мрт-20, 17:35 
Не выгнали, а сам ушёл. Причину так и не узнали.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

17. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от user90 (?), 26-Мрт-20, 12:14 
Я начинаю подозревать, что ты и есть тот самый школотрон на каникулах ;)
Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз набора компиляторов LLVM 10.0"  –5 +/
Сообщение от Аноним (51), 26-Мрт-20, 16:54 
А, не всё ли равно - если дело говорит.
> Годная единая компилирующая платформа под истинно свободной лицензией, не то что застарелый GCC от бородатых свободофашистов.

В ч.н.:
* Исходники GCC - когда смотрел: срыто-криптографически кал, для блобов.
И по отзывам - писать туда могут только избранные, этакие Нео, от всяких Intel'ов и прч.корпораций [скрыто] очевидно.
Тоже 1в1 кстати и у Торвальса, тут же были даже статьи что даже некоторые единичные Нео из не корпораций - "вешались" из-за чхания на их патчи разного недостающего. Просто показательно.

* GPL - вообще какой то жуткий скрыто проприетарный троян, котрый даже в РФ не иммеет полноценну силу,
т.к.даже просто неимеет официально признанного перевода (прочие соотв-нно - в_топку в глазах наших законов), а там/на инглише вдобавок к тому - всё на юридическо-патентно-мыльном инглише... Т.е.он так витиевато многосмысленно составлен что это просто ...какой то жуткий троян уже юридически.
Будь это вменяемо составленная лицензия в стиле BSD-10-100-пуктов, но
человеческим языком и однозначно - я бы ничего не возмущался.
Например, если сравнть GPL с скажем проприетарной OpenWatcom такой же жутко мутной и тоже якобы (уже даже в названии комплекса ПО) свободной (и даже со слов wikipedia - ага как же! туда явно незаглядывавших) то, понятно: что то, что то - свободная/Open только на словах, т.е.раз OpenWatcom косплекс никакой не Open а всё тот же прежний Watcom, то с какого ~такой же GCC - считается свободный, и т.б.Linux Kernel - подвещивающий все *Линукс в возду же юридически только из-за одной его лицензии, даже не говоря про типичныое наличие у вас в линухах блобов начиная от микропрошивок и заканчивая ATI/nVidia драйверов.
Или вот пример, хотел было пропатчить и улучшить движок одной игры
- а, так оказывается скрыто наличествует отавторский же блоб - всеглишь код ИИ..
о чём даже нигде ни слова при скачке (как же это напоминает 99% линухов с их блобами)
и вообще ставит легальность всей GPL делая пираткой.
Т.е. пока не выпилить даже тот шаблонный недо-ИИ из движка - сам автор нарушает GPL,
а это же даже если переписать её с нуля:
1) часть самая сложная
2) что жутко обидно ибо нафиг тогда вообще праивть проект, остальная часть там настолько забагованная и недоделанная что их править смысл тогда - с нуля только её сделать скорей будет проще, но тогда спрашивается - нафига этот проект вообще! (а, если с нуля делать затратно же по времни годами пилить - какие там ещё улучшения, ради которых и хотелось изначально)
3) и даже с учётом её жуткой недоделонности ещё сложней вопрос - как сделать повторив основную механику оттуда так чтобы она не была не была похожа на его (С)-код или скорей на производный из него?...
что тут ещё скажешь - с_ка ты Афлетдинов!

* бородатых свободофашистов - ну толерантными лицензии их уж точно не назвать... таки конечно фашисты,
и без ук.выше GPL: "вообще какой то скрыто проприетарный жуткий троян"
- и никто же из этих бородатых - слова против этого ни пикнул,
а ну да они сами же и создали GNU-фонд $собирательный(но, незаметно чтобы затем распределявший авторам) и его очень мутную лицензию...
(А, ещё очень интересно что будет если они отменят GPL, или закроют свой фонд, или продадут).

Ответить | Правка | Наверх | Cообщить модератору

52. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от user90 (?), 26-Мрт-20, 17:03 
> котрый даже в РФ не иммеет полноценну силу

Ну дык это же РФ, ггг! Тут ни-че-го не имеет "полноценной силы".

> Т.е.он так витиевато многосмысленно составлен что это просто

что ты просто не въехал, ну да не переживай, тебе скорее всего и не нужно.

По поводу остальной простыни.. на каком-то "жутко-мыльно-русском" написано))

Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (81), 30-Мрт-20, 09:18 
GPL-фанатик? Бывает...

> > котрый даже в РФ не иммеет полноценну силу
> Ну дык это же РФ, ггг!

«ггг»-идиотам сообщаю:
- Так я тоже не с РФ, как бы. Такие проблемы везде у нас.
(Уверен и в НАТО, если не сейчас - то скоро будут; максимум - как введут закономерно ожидаемую сертификацию - всего выпускаемого ПО; и вообще удивляюсь что там до сих пор не прикрыли это - налоги не платят же в общак/казну... и даже конкурентам мешают платить полностью! не говоря уже про упущенную прибыль компаниями - т.к.те сами засадить выписав многомилилардный штраф Столману прям стесняются, будучи такими как вы «ггг»-шникам в обществе просто затерроризированны).

Ответить | Правка | Наверх | Cообщить модератору

59. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (59), 26-Мрт-20, 18:30 
Выдыхай!
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

62. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (62), 26-Мрт-20, 18:57 
Сам выдыхни, раз нечего возразить.
Ответить | Правка | Наверх | Cообщить модератору

4. "Релиз набора компиляторов LLVM 10.0"  –19 +/
Сообщение от Аноним (4), 26-Мрт-20, 10:56 
То есть для того, чтобы запустить некую программу, скомпилированную с помощью llvm, мне надо на целевой хост поставить, мнэ, интерпретатор llvm, выполняющий "скомпилированный" код.

Наверное в этом есть какой-то смысл, но я не понимаю.

Ответить | Правка | Наверх | Cообщить модератору

11. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от konrad (??), 26-Мрт-20, 11:46 
LLVM вроде умеет не только JIT, но и AOT :) а насчёт «какой-то смысл» — он как у Явы: один раз собрал и везде запускаешь (: но я тоже считаю что это не так-то уж и круто, как некоторые думают: собрать четыре релизных билда (линь/винда/мак на х86 и линь на арм) не так уж и сложно, в отличии от создания/развития «универсальной» среды, которая везде должна предоставлять одинаковый функционал ИМХО
Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз набора компиляторов LLVM 10.0"  –3 +/
Сообщение от фывфыв (?), 26-Мрт-20, 12:23 
Только вот в случае с llvm не работает "один раз собрал" их "язык ассемблера" не такой уж и универсальный (иначе в противном случае любой компилятор на llvm работал бы на всех архитектурах, которые поддерживает llvm, а этого не происходит).
Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (4), 26-Мрт-20, 13:58 
Я понимаю, что это такая ява с преферансом и куртизанками.

Я о другом. Конпелятор делает исполняемый файл под целевую платформу, и (1) на этой платформе не нужно никаких прослоек, всё собрано, (2) конпелятор  оптимизирует, чтобы получить максимально быстрый и эффективный код.

Так вот, в чём смысл механизма llvm с этой точки зрения? Эффективности не получается, дополнительный слой какой-то... Но как бы конпелятор.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

44. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от КО (?), 26-Мрт-20, 15:29 
Нет это такой P-код. :)
Промежуточное представление между тем, упрощает написание компилятора под платформы.
Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз набора компиляторов LLVM 10.0"  –1 +/
Сообщение от Аноним (63), 26-Мрт-20, 19:06 
Упрощает написание под платформы, значительно усложняя оптимизацию вообще и т.б.под конкретную.
(Неявно это NIX-way, типично-лаговый:( Пока невыпилят такое поведение компилятора [и мультиплатформенность] - Линуксы всегда будут позади всех в тестах производительноти,
только из-за этого одного. Хоть мультиплатформенная поддержка - сама по себе требует затрат времни программистов - нелинено, даже просто на поддержание её при каждом чихе в другой платформе, т.о. нелинено уменьшая число даже просто общих оптимизаций и аналогично нужных нововведений синтаксиса, как и аналогично в полноценном документировании).
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Урри (?), 27-Мрт-20, 13:28 
забавно. "позади всех в тестах производительность", но при этом 100% суперкомпьютеров бегают на этой жутко тормозной фигне.

мне кажется, кто то тут врет. и это точно не суперкомпьютеры.

Ответить | Правка | Наверх | Cообщить модератору

82. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (82), 30-Мрт-20, 09:20 
вариант: кто то тут врет - и это не я...
Ответить | Правка | Наверх | Cообщить модератору

16. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Коломойский (?), 26-Мрт-20, 12:07 
толи аноним толи чукча
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

18. "Релиз набора компиляторов LLVM 10.0"  +3 +/
Сообщение от ant2 (?), 26-Мрт-20, 12:19 
Нет, для пользователя это просто компилятор с/с++ (или другого языка). Особенность проекта в том, что он двуслойный, т.е. он переводит язык в универсальный байт-код low-level virtual machine, а затем этот байт-код переводит в инструкции конкретной платформы (например, amd64).
Идея в том, что можно сделать универсальные оптимизаторы байт-кода и оптимизаторы перевода байт-кода в код платформы. Поскольку они работают с байт-кодом, то им всё равно откуда этот байт-код взялся. Поэтому, вместо того чтобы мучить полный компилятор для нового языка, достаточно написать frontend, переводящий в байт-код.
JIT здесь притом, что можно не делать последний шаг при компиляции - перевод в код платформы, а оставить его на потом.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

22. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от user90 (?), 26-Мрт-20, 12:32 
Этой "особенности" сто лет в обед))
Ответить | Правка | Наверх | Cообщить модератору

35. "Релиз набора компиляторов LLVM 10.0"  –3 +/
Сообщение от kai3341 (ok), 26-Мрт-20, 14:01 
>  Этой "особенности" сто лет в обед))

Вы путаете объектный код с LLVM IR

Ответить | Правка | Наверх | Cообщить модератору

49. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от meantraitor (?), 26-Мрт-20, 16:30 
"Поэтому, вместо того чтобы мучить полный компилятор для нового языка, достаточно написать
frontend, переводящий в байт-код."

Вот этой "особенности" сто лет. IR есть у (практически) любого компилятора.

Ответить | Правка | Наверх | Cообщить модератору

57. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Брат Анон (?), 26-Мрт-20, 17:49 
Это ты анон путаешь.
Такой подход был реализован в Обороне -- Ява к этому моменту ещё не существовала.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

70. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Ordu (ok), 26-Мрт-20, 20:54 
Нет, это ты путаешь объектный код с IR. IR есть и в gcc тоже, это естественный ход для компилятора, который под несколько платформ компилирует: это позволяет некоторые оптимизации кода проводить кроссплатформенно.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

24. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Аноним (24), 26-Мрт-20, 12:44 
Это не особенность, а обыденность.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

32. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от microsoft (?), 26-Мрт-20, 13:32 
Да, только фронтенд прийдется писать на богопротивном с++ вместо богоугодного чистого как слеза девственницы анси с.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

39. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (59), 26-Мрт-20, 14:09 
Сейчас и GCC постепенно переходит на написание самого себя на C++.
Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от microsoft (?), 26-Мрт-20, 14:39 
Пруфы в студию, тоесть часть компилера с написана на плюсах?
Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Аноним84701 (ok), 26-Мрт-20, 15:47 
> Пруфы в студию, тоесть часть компилера с написана на плюсах?

https://github.com/gcc-mirror/gcc/blob/master/gcc/gimple-loo...


loop_cand::loop_cand (class loop *loop, class loop *outer)
  : m_loop (loop), m_outer (outer), m_exit (single_exit (loop)),
    m_bbs (get_loop_body (loop)), m_num_stmts (0), m_const_init_reduc (0)
{
    m_inductions.create (3);
    m_reductions.create (3);
    m_lcssa_nodes.create (3);
}

Ответить | Правка | Наверх | Cообщить модератору

65. "Релиз набора компиляторов LLVM 10.0"  –3 +/
Сообщение от Аноним (65), 26-Мрт-20, 19:35 
С++ если без его извратских и лагонутых С++ классов - это как раз нормально, даже идеально,
ибо писать ООП на Си... - и есть настоящий изврат.

А, сам ООП это по сути продвинутая объектная модель, без которой - никуда, в сколько то большом коде.
Проекты делающие таки оставшимися на Си новичками ниосилившими С++ синтаксис, хоть вроде Торвальдса, - не всчёт. Т.к.он всю жизнь мучает одно и тоже, и уже давно даже просто перевести на С++ - очень время-затратная затея.. не говоря уже наверняка приведующая к новым сотням багам в ядре... Ему таки проще (а может и разумней, думает доживу своё - а, вы там после меня мучайтесь переводя) уже просто посылать всех с идеей перевода ядра кода на С++. Хоть не удивлюсь если он больше боится всех этих мерзких таки, т.б.в ядре ОС, шаблонных классов алгоритмов примазавшихся к понятию и даже стандарту С++; впрочем, они ещё хорошо мозг отбивают( если начинали уже с них, да и у иных - привычкой, тоже) - этого/таких-программистов он может боится даже больше, сразу отсеивая.
(и кстати, недостаток не в самой ООП, а в том как её иногда предлагали использовать
- как средство уменьшить copy-paste для уменьшения повторябельности блоков кода,
что реально даже просто анти-оптимизационно и из-за универсализации и надобности вмещания в неё неуниверсального - порой приводит к проблемам раздувания - ненужной иначе, и т.б.очередному снижению производительности, но это конечно опционально и проектно зависимо, и скорей притензия у желанию сделать всё универсально)
К тому же у С++ есть существенный плюс - более чистый синтаксис и куда лучшая проверка его,
У С++ и его анализатора за счёт улучшеного синтаксиса - на порядок меньше подводных камней, самая же часто поминаемая препроцессор или шабоны - сугубо ниасиляторство, не более. В своих же проектах - их никто не обязывает использовать, а в чужих - и правила уже чужие, вообще.

Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Ordu (ok), 26-Мрт-20, 21:03 
> Хоть не удивлюсь если он больше боится всех этих мерзких...

Как я понимаю, C лучше тем, что он даёт больше контроля за происходящим. Если ты пишешь модуль к ядру, то этот модуль подгружается и представляется объектом в ядре, и vtable к этому объекту ты пишешь ручками.

Плюс есть ещё одна проблема: грамотного разработчика на C несложно найти или взрастить, а вот грамотного разработчика на C++ найти сложно, взрастить невозможно. По-крайней мере в модели разработки linux нет места инкубатору для зелёных C++-птенчиков.

Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (83), 30-Мрт-20, 09:31 
>> Хоть не удивлюсь если он больше боится всех этих мерзких...
>Как я понимаю, C лучше тем, что он даёт больше контроля за происходящим. Если ты пишешь модуль к ядру, то этот модуль подгружается и представляется объектом в ядре, и vtable к этому объекту ты пишешь ручками.

Неверно. На С++ можно делать тоже самое 1в1. Зато у него строже синтакисис у типов и их контроль.

> Плюс есть ещё одна проблема: грамотного разработчика на C несложно найти или взрастить,

В теории. (я про грамотного, да и вообще это понятие очень субъективно).

> а вот грамотного разработчика на C++ найти сложно, взрастить невозможно.

Смотря что понимать под грамотностью уже тут, С++ именно как компилятор(а не мега-фреймворк, в добавок компилятор симулирующий своими т.н.алгоритмами), довольно быстро изучается а библиотечные функции так и вовсе из Сей же тогда, или ОС API/вообще свои.

> По-крайней мере в модели разработки linux нет места инкубатору для зелёных C++-птенчиков.

Да, только голубым пингвинчикам.

Ответить | Правка | Наверх | Cообщить модератору

47. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от llolik (ok), 26-Мрт-20, 16:06 
https://gcc.gnu.org/wiki/cxx-conversion
Тут всё написано.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

58. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (59), 26-Мрт-20, 18:19 
КО: Склонируй исходники, да посмотри.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

78. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от microsoft (?), 27-Мрт-20, 16:13 
Тоестб тменно часть что отвеечает за С компилятор написана на С++? Можно мне ссылку.
Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от Аноним84701 (ok), 26-Мрт-20, 13:02 
> То есть для того, чтобы запустить некую программу, скомпилированную с помощью llvm,
> мне надо на целевой хост поставить, мнэ, интерпретатор llvm, выполняющий "скомпилированный"
> код.
> Наверное в этом есть какой-то смысл, но я не понимаю.

Смысл в простом детекторе всех тех, кто толком не разобрался, но имеет "ценнейшее мнение":
> The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project.
>  Code Generation and Optimization
>              This stage translates an AST into low-level intermediate code
>              (known as "LLVM IR") and ultimately to machine code.  This phase
>              is responsible for optimizing the generated code and handling
>              target-specific code generation.  The output of this stage is
>             typically called a ".s" file or "assembly" file
>

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

27. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от konrad (??), 26-Мрт-20, 13:13 
плюсую))
Ответить | Правка | Наверх | Cообщить модератору

36. "Релиз набора компиляторов LLVM 10.0"  –4 +/
Сообщение от Аноним (4), 26-Мрт-20, 14:01 
Я умею читать и даже осмыслить прочитанное.

Вопрос - накой прослойка? Конпелятор нужен для максимальной производительности. А если дополнительно вкрячивается интерпретация байт-кода в платформу, то это не конпелятор.

Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

41. "Релиз набора компиляторов LLVM 10.0"  +3 +/
Сообщение от Аноним84701 (ok), 26-Мрт-20, 14:28 
> Я умею читать и даже осмыслить прочитанное.

Угу-угу. Цитата из man clang
>This stage translates an AST into low-level intermediate code
>(known as "LLVM IR") and ultimately to machine code.

для кого была?

> Вопрос - накой прослойка? Конпелятор нужен для максимальной производительности.

Ответ: за надом в виде оптимизации. Потому что далеко не все можно оптимизировать на уровне AST (например: лучше подходит (разновидность) той же абстрактой интерпретации). А без "прослойки" -- придется копипастить-писать часть низкоуровневой платфоромнезависимой оптимизации для каждой целевой платформы  (краткая лекция введения в компиляторостроение  или хотя бы  https://en.wikipedia.org/wiki/LLVM#Intermediate_representation и https://en.wikipedia.org/wiki/Intermediate_representation находятся в шаговой доступности от анонима).

>  А если дополнительно вкрячивается интерпретация байт-кода в платформу, то это не конпелятор.

Ну если аноним так говорит, то наверное так оно и есть. Правда, пацаны из GCC об этом почему-то не слышали:
https://gcc.gnu.org/onlinedocs/gccint/Tree-SSA.html#Tree-SSA
>GCC uses three main intermediate languages to represent the program during compilation: GENERIC, GIMPLE and RTL. GENERIC is a language-independent representation generated by each front end. It is used to serve as an interface between the parser and optimizer. GENERIC is a common representation that is able to represent programs written in all the languages supported by GCC.
>

Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от Аноним (42), 26-Мрт-20, 14:37 
Явно нет. Хочешь сорву покровы и скажу что gcc, в принципе, так же нынче работает?
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

54. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (54), 26-Мрт-20, 17:38 
Конпелятор от слова conpile?
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

66. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (66), 26-Мрт-20, 19:45 
> Вопрос - накой прослойка?

Ответ - в другом ответе выше:
https://www.opennet.ru/opennews/art.shtml?num=52611#63

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

15. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от Аноним (15), 26-Мрт-20, 11:55 
Компилятор должен быть один, куда все контрибутят для всех платформ.
И это не сабж. Сабж очередной выкидышЪ яббловой проприетарности.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от Аноним (-), 26-Мрт-20, 13:23 
Good-но сказал, плюсую. Ещё на ранних стадиях, разработчики LLVM сперва тупо копировали фрагменты исходных кодов GCC в свой проект, и только потом его переписывали.
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз набора компиляторов LLVM 10.0"  –2 +/
Сообщение от Аноним (67), 26-Мрт-20, 19:50 
разработчики 90% opensource проектов когда имея проприетарный аналог/конкурента сперва тупо копировали фрагменты исходных дизассемблированных кодов в свой проект, и только потом его переписывали. Ибо так не толко быстрей, а и почти ~100%-ая совместимость сохраняется.

Так что фиктивный аргумент.

Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от kai3341 (ok), 26-Мрт-20, 14:08 
>  Компилятор должен быть один, куда все контрибутят для всех платформ.

LLVM как раз претендует на эту роль

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

73. "Релиз набора компиляторов LLVM 10.0"  –1 +/
Сообщение от Аноним (73), 26-Мрт-20, 21:04 
претендует... но сделали, как обычно.
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз набора компиляторов LLVM 10.0"  –9 +/
Сообщение от Аноним (29), 26-Мрт-20, 13:22 
Сначала во фрибсд, далее - везде! Пора таки уже и линуксе начать выкидывать гцц на мороз!
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз набора компиляторов LLVM 10.0"  +5 +/
Сообщение от Аноним (-), 26-Мрт-20, 13:24 
ни бзди!
Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от microsoft (?), 26-Мрт-20, 13:33 
Тебя спросить забыли
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

37. "Релиз набора компиляторов LLVM 10.0"  –1 +/
Сообщение от Аноним (59), 26-Мрт-20, 14:07 
- Где-где?
- В ...
- О, и я о том же.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

48. "Релиз набора компиляторов LLVM 10.0"  +1 +/
Сообщение от Ilya Indigo (ok), 26-Мрт-20, 16:11 
> По умолчанию прекращён запуск отдельного процесса ("clang -cc1"),

Объясните, пожалуйста, зачем и чем это будет лучше?

Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Замбога Бородуля (?), 26-Мрт-20, 17:45 
По идее для ускорения процесса сборки
Ответить | Правка | Наверх | Cообщить модератору

72. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Аноним (73), 26-Мрт-20, 21:03 
что, запуск процесса идёт полчаса, что ли?!
Ответить | Правка | Наверх | Cообщить модератору

74. "Релиз набора компиляторов LLVM 10.0"  +2 +/
Сообщение от Аноним (74), 26-Мрт-20, 22:11 
На винде - примерно столько и идет, даже в два раза больше.
Ответить | Правка | Наверх | Cообщить модератору

77. "Релиз набора компиляторов LLVM 10.0"  –1 +/
Сообщение от Аноним (-), 27-Мрт-20, 14:23 
Пруфы будут, г-н эксперт, или как всегда?
Ответить | Правка | Наверх | Cообщить модератору

79. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от Замбога Бородуля (?), 27-Мрт-20, 19:32 
Пруфы чего? Что если создавать процесс, то это займёт время t = N, а не создавать t = 0?
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз набора компиляторов LLVM 10.0"  +/
Сообщение от yurikoles (ok), 31-Мрт-20, 19:17 
LLVM - это проект 21го века, начат учёными, написан на современном языке, был рано замечен Apple и получил огромные инвестиции как раз когда Столлман решил скатить хорошую лицензию в новую версию, которая добавила только лишние проблемы всему рынку. Кроме FSF и GNU никто почти и не перешёл на неё. Сейчас многие крупные игроки уже осознанно выбирают между двумя проектами. И это прекрасно! Конкуренция заставляет оба проекта развиваться. Но пока из преимуществ GCC осталось только то, что на него завязана вся инфраструктура FLOSS, только из-за этого он и держится на плаву. Но и это преимущество не вечно, OpenMandriva уже полностью перешла. В Debian постоянно растёт доля пакетов, успешно собираемых Clang/LLVM. А производительность уже давно сравнялась, есть некоторые флуктуации в разные стороны.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру