URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 84779
[ Назад ]

Исходное сообщение
"Статья про архитектуру LLVM"

Отправлено opennews , 30-Май-12 21:00 
Журнал Dr.Dobb's опубликовал статью "The Design of LLVM (http://www.drdobbs.com/architecture-and-design/240001128)" с подробным и ясным обзором основных особенностей дизайна инфраструктуры для создания компиляторов LLVM (http://www.llvm.org/), и отличиях в подходе от классических компиляторов, таких как GCC.

<center><a href="http://twimgs.com/ddj/images/article/2012/0512/latfig3.gif&q... src="https://www.opennet.ru/opennews/pics_base/0_1338396861.gif" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></a></center>

URL: http://www.drdobbs.com/architecture-and-design/240001128
Новость: https://www.opennet.ru/opennews/art.shtml?num=33968


Содержание

Сообщения в этом обсуждении
"Статья про архитектуру LLVM"
Отправлено iZEN , 30-Май-12 21:00 
Отлично. Почитаем.

"Статья про архитектуру LLVM"
Отправлено Аноним , 30-Май-12 21:33 
Может хоть после этого прекратят чушь пороть о том, что архитектура гцц не позволяет ему развиваться.

"Статья про архитектуру LLVM"
Отправлено Аноним , 30-Май-12 22:37 
> Может хоть после этого прекратят чушь пороть о том, что архитектура гцц не позволяет ему развиваться.

Мало почитать, надо еще понять. А для этого мозг нужен.
Так что не прекратят, не надейтесь.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:43 
> Так что не прекратят, не надейтесь.

Да уж. Для жабистов такое слишком сложно, увы.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 16:06 
>> Так что не прекратят, не надейтесь.
> Да уж. Для жабистов такое слишком сложно, увы.

Такие толстые попытки кого-то зацепить лишь говорят об агонии.
Когда llvm только начинался, такие как вы много чего против говорили, а сейчас время прошло, и вы облажались со своими прогнозами.
А теперь со стыда уже не знаете, что сказать.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:41 
> Такие толстые попытки кого-то зацепить лишь говорят об агонии.

А по-моему они говорят только о толстоватом троллинге izen'а. В умственных способностях которого я не без оснований сомневаюсь.

> Когда llvm только начинался, такие как вы много чего против говорили, а
> сейчас время прошло, и вы облажались со своими прогнозами.

И в чем эта лажа состояла? Судя по бенчам фороникса он до сих пор даже на х86 сливает гцц. А про остальных и говорить нечего - там из всех остальных всерьез ARM разве что есть. Остальные представлены в основном чисто номинально, так что спасибо скажешь если вообще хоть что-то сгеренится, а если без багов и падений - так это вообще epic win. Про степень оптимизации мы уж молчим - когда компилер трапается с internal error, тут уже не до рассуждений о оптимизации.


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 19:42 
> Судя по бенчам фороникса

ну не надо так откровенно-то издеваться.


p.s. а по моим бенчам — для x86 вполне сопоставим с gcc. и компилирует при этом в два раза шустрее.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 20:11 
> ну не надо так откровенно-то издеваться.

Да ладно, фороникс временами даже делает что-то более-менее вменяемое, в том числе и бенчи. Правда временами и правда бенчи делают странно, так что лично я при анализе их результатов просто задействую мозг и пытаюсь осознать - что и нафига померяно и почему такой результат.

> p.s. а по моим бенчам — для x86 вполне сопоставим с gcc.

В каких-то случаях сопоставим, а в каких-то может слить на 300%. При том у того же фороникса таких случаев есть.

> и компилирует при этом в два раза шустрее.

А также иногда трапается с internal error. У гцц я такое в последний раз видел в 2.9х чтоли у себя и в 4.2 у бсдшников :)


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 20:27 
ну, ICE у gcc я видел не так давно. он очень нервно относится к volatile в union — иногда. правда, clang'ом этот код вообще не собирается, потому что он не все расширения gcc поддерживает.

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 00:14 
> Может хоть после этого прекратят чушь пороть о том, что архитектура гцц не позволяет ему развиваться.

Смотря что именно вы понимаете под развитием.
Просто увеличение количества разных функций и разрастание кода?
Вы правы, для этого в gcc нет никаких помех.


"Статья про архитектуру LLVM"
Отправлено Andrey Mitrofanov , 31-Май-12 10:23 
> Просто увеличение количества разных функций и разрастание кода?
> Вы правы, для этого в gcc нет никаких помех.

А ччо, на докторе Доббе пишут, что в LLVM "количества разных функций и разрастание кода" __уменьшаются__ ??! Точно, надо читать.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:35 
> А ччо, на докторе Доббе пишут, что в LLVM "количества разных функций и разрастание кода" __уменьшаются__ ??! Точно, надо читать.

Нет, нужно просто уметь видеть хотя бы чуть больше, чем два варианта.


"Статья про архитектуру LLVM"
Отправлено Andrey Mitrofanov , 31-Май-12 16:39 
> Нет, нужно просто уметь видеть хотя бы чуть больше, чем два варианта.

?

$ eval echo\ у{менш,велич}ение\ количества\ {одинаков,разн}ых\ функций\ и{,ли}\ {разраст,ужим}ание\ кода\;

!

$ S="у{менш,велич}ение\ количества\ {одинаков,разн}ых\ функций\ и{,ли}\ {разраст,ужим}ание\ кода"
$ eval echo\ -en\ $S\\ llvm\\ и\\ $S\\ gcc\\\!\\\\n|wc -l
256
$ _


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 17:04 
Ваши постоянные синтаксические ужимки лишь свидетельствуют о гуманитарном характере вашего мышления.
Вы лишь тусуетесь на технических форумах, чтобы изображать из себя якобы большого специалиста в технических областях.

А на самом деле, скорее всего у вас с техникой одни сплошные проблемы.
Если вы пытаетесь говорить с людьми на языке трансляторов, это еще не делает из вас специалиста.


"Статья про архитектуру LLVM"
Отправлено Andrey Mitrofanov , 31-Май-12 17:20 
> Если вы пытаетесь говорить с людьми на языке трансляторов, это еще не делает из вас специалиста.

Ням-нямммм.... //А зато у тя писюн маленький.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 17:37 
Вот это уже больше похоже на вашу истинную суть.
А то все пиарите тут свои познания в шелле.

Неудивительно зато, что вам новый компилятор и VM так трудно освоить.


"Статья про архитектуру LLVM"
Отправлено Andrey Mitrofanov , 31-Май-12 18:08 
> Неудивительно зато, что вам новый компилятор и VM так трудно освоить.

Кто сказал "трудно"? Впрочем не утруждайся, уговорил, касательно _вариантов!, не буду статью читать. И приятного облегчения с LL и VM---


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 18:14 
Не будете статью читать?
Какая потеря для научно-технического прогресса!

Хотя отчетливо видно, что когда вы что-то пытаетесь сказать не на языке шелла, без всяких несуразных тире, знаков препинания и повторяющихся букв, и прочего коверкания языка - выясняется, что сказать вам особо нечего.


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 18:16 
кстати, LLVM как минимум на x86 не так уж и плох. например, на моём «домашнем» проекте (~600 килобайт исходников на си), clang 3.1 по скорости компиляции (-O2 -march=native -mtune=native) в два раза уделал gcc 4.7. по скорости работы бинаря (это интерпретатор язычка) уделал чуть-чуть, на несколько процентов. по размеру бинаря — тоже на несколько процентов.

то же самое со скоростью компиляции двух мегабайт довольно корявого c++. результирующие бинари отличались кил на сто, при размере бинаря три мегабайта это мелочи. скорость сравнить не удалось, потому что это рогалик.

так что шланг вполне неплох.

p.s. да, оба собирались одним и тем же gcc 4.7, так что этот нюанс можно не рассматривать.


"Статья про архитектуру LLVM"
Отправлено архитектор , 31-Май-12 18:34 
Более того, обычно фанатичные поклонники gcc, усевшись в лужу со своими предыдущими прогнозами, хватаются за последнюю спасительную соломинку, что тип на данный момент gcc поддерживает больше процессорных архитектур.

Хотя если заглянуть в историю, то наверняка выяснится, что такая широкая поддержка в gcc тоже возникла не сразу. А даже если бы и сразу, модульная организация llvm позволяет легко добавлять другие архитектуры.

Просто разработчики llvm сейчас сосредоточены на решении других вопросов, зная что с решением этого вопроса все в порядке (ведь несколько архитектур уже есть).

И пока противники llvm, которые с таким трудом освоили gcc (кто способны легко обучаться - им обычно появление чего-то нового никак не мешает), пока утешают себя количеством архитектур, другие спокойненько нарабатывают кодовую базу. Зная, что спокойно перенесут кодовую базу своих проектов на новые архитектуры по мере их появления.

P.S. Лично мне и старый gcc никак не мешает. Я просто не являюсь его фанатиком, и рад появлению новой модульной системы. И стараюсь писать переносимый между компиляторами код.
Наличие выбора - это всегда хорошо!
(Но видимо не для всех.)


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 18:50 
кстати, шланг ещё иногда даёт дельные варнинги в местах, где gcc молчит. например, когда в функции типа printf() первым параметром передаётся переменная, шланг нервничает. отловил в своих проектах несколько таких вещей. ну, и ещё всякие мелочи.

потому стараюсь — если есть возможность — собирать проекты обоими компиляторами. что-то один заметит, что-то другой — а мне с обоих польза.


"Статья про архитектуру LLVM"
Отправлено архитектор , 31-Май-12 18:57 
Разработчики новых систем обычно учатся на ошибках авторов предыдущих.

Не стоит строго судить gcc. Он ведь был пионером во многих областях. По крайней мере, как свободный компилятор такого уровня.

Но и фанатеть по его поводу - полная глупость. Фанатизм - это показатель стереотипности мышления, низких способностей к обучению, и вообще неспособности принимать новую информацию.


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 19:13 
дык я и не сужу. gcc — отличный, качественный компилятор, полной замены которому нет, и если и будет, то не скоро. шланг/llvm — весьма неплохой развивающийся компилятор, в некоторых местах обошедший gcc.

да, мне не нравится лицензия clang/llvm. ну так я туда код и не даю. но наличие подобного проекта полезно в том числе и для gcc: пусть соревнуются, мне от этого только выигрыш будет.

раздражают же как фанаты шланга (всё, gcc не нужен, на помойку его!), так и фанаты gcc (шланг не нужен, gcc навсегда!). например, polyhedral optimizer в gcc появился раньше. зато индикацию не только строки, но и позиции ошибки в gcc сделали, фактически, с оглядкой на clang, до этого как-то всё «руки не доходили». и тому подобное.


"Статья про архитектуру LLVM"
Отправлено архитектор , 31-Май-12 19:16 
А я и не говорил, что судите именно вы.
Это была напоминалка самому себе. :)


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 19:19 
ну так мы тут оба, в принципе, капитаним.

"Статья про архитектуру LLVM"
Отправлено архитектор , 31-Май-12 19:22 
С другой стороны, не грех судить тех, кто судит сам. :Р
А компиляторы не судят, они - компилируют.

"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 19:24 
забавно, кстати, то, что большинство орущих фанбоев не разбираются даже в структуре «компилятора своей любви», не говоря уже о «врежеском изобретении».

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 20:12 
> p.s. да, оба собирались одним и тем же gcc 4.7,

Кстати gcc4.6 имхо в плане оптимизации местами более удачный, 4.7 обладает рядом странных закидонов.


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 20:25 
> Кстати gcc4.6 имхо в плане оптимизации местами более удачный, 4.7 обладает рядом
> странных закидонов.

емнип, ребята в курсе, готовят новый релиз. впрочем, я пристально за разработкой не слежу.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 02:13 
>> p.s. да, оба собирались одним и тем же gcc 4.7,
> Кстати gcc4.6 имхо в плане оптимизации местами более удачный, 4.7 обладает рядом
> странных закидонов.

Это типичные регресс при выходе x.x.0


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:46 
> Вы лишь тусуетесь на технических форумах, чтобы изображать из себя якобы большого
> специалиста в технических областях.

Вы немного не угадали. Он тут тусуется и троллит таких как вы. При том судя наблюдаемой картине - довольно успешно. Это раз.

И два: умение скроить нечто на языке трансляторов показывает что это именно технический специалист, какой-никакой. Гуманитарии по природе своей не способны на этот стиль мышления.

Вам не кажется что два фэйла в 1 сообщении - многовато? :)


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 22:05 
> И два: умение скроить нечто на языке трансляторов показывает что это именно технический специалист, какой-никакой.

Да, именно "скроить" он может.
И он действительно "какой-никакой".

Только видимо вы даже этого не можете, поэтому он вам и кажется таким крутым.

> Гуманитарии по природе своей не способны на этот стиль мышления.

Ну почему же, гуманитарии на это вполне способны. И даже на большее.
Просто некоторые гуманитарии не хотят соглашаться, что они гуманитарии, и считают, что как будто гуманитарии - это исключительно те, кто вообще даже "скроить" не может.

На самом деле гуманитарии отличаются не тем, что они даже "скроить" не могут.
А тем, что они упорно применяют технические средства не по назначению.
И тем, что у них в технических системах, благодаря их "кройке и шитью", постоянно возникают технические проблемы, решить которые им уже их "кройка" не помогает, и они не знают что делать.

Из-за этого они постоянно комплексуют, и пытаются на словах продемонстрировать свои якобы технические познания. Хотя бы в виде попыток разговаривать на языке программирования. Или коверкания нормальной человеческой речи, в попытках придать дополнительный эмоциональный окрас. Ведь мир эмоций им ближе, чем мир техники, хотя они упорно пытаются это опровергать.

Хотя большинство гуманитариев - это вполне достойные люди. Они знают, кто они есть, что они ничуть не хуже других. И они занимаются достойно своим делом в своих гуманитарных областях. И эти гуманитарные области нужны людям не меньше, чем технические. И точно так же техники в этих областях были бы не на своем месте.

Здесь речь идет, не о них. А о тех "исключительных" особах, которые упорно лезут не в свое дело и пытаются казаться, кем они на самом деле не являются.

> Вы немного не угадали. Он тут тусуется и троллит таких как вы.
> При том судя наблюдаемой картине - довольно успешно. Это раз.
> Вам не кажется что два фэйла в 1 сообщении - многовато? :)

Мне кажется, что он очень обрадуется, что у него есть такие защитники, как вы.

И что у него именно такая аудитория поклонников, благодаря тому, чем именно он тут занимается, и кого именно он тут пытается троллить. И кто именно и кому выставляет "фэйлы", а кому "успехи".


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 02:11 
> Хотя большинство гуманитариев - это вполне достойные люди.

К сожалению, это не так:(

Простейшая статистика говорит, что большинство гуманитариев - это экономисты и юристы.
Первые - обычные мошенники - о их "достойности" говорит состояние сегодняшней мирововй экономики.
О вторых и говорить нЕчего - паразиты на теле общества.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 02:35 
> Простейшая статистика говорит, что большинство гуманитариев - это экономисты и юристы.
> Первые - обычные мошенники - о их "достойности" говорит состояние сегодняшней мирововй экономики.
> О вторых и говорить нЕчего - паразиты на теле общества.

Это полное невежество.
В современном цивилизованном обществе уже давно принято знать хотя бы азы экономики и юруспруденции.
(Так же как и азы компьютерной грамотности.)
Вы просто видимо все еще живете в Советском Союзе, в лучшем случае - в 90х гг. Когда так рассуждать было очень модно.

Ну а то что вы к гуманитариям забыли отнести деятелей культуры, это только еще больше ваше невежество подтверждает.

В предыдущем посте речь шла о людях, которые занимаются не своим делом.

А стричь под одну гребенку людей только на основе их рода деятельности - это следствие исключительно узости кругозора. Точно так же некоторые люди, которые ничего не понимают в ИТ, называют ИТшников бездельниками и сумасшедшими (сам неоднократно слышал и читал).


"Статья про архитектуру LLVM"
Отправлено arisu , 01-Июн-12 07:44 
> В современном цивилизованном обществе уже давно принято знать хотя бы азы экономики
> и юруспруденции.

«знать» != «работать в этом». я, положим, теоретически знаю, как зубы вырывать. это не значит, что я дантист.

> Ну а то что вы к гуманитариям забыли отнести деятелей культуры
> деятелей культуры

рукалицо.тифф
действительно, после такого ещё больше хочется, чтобы гуманитариев было как можно меньше.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 08:53 
> «знать» != «работать в этом». я, положим, теоретически знаю, как зубы вырывать. это не значит, что я дантист.

Это у вас эмоции, а не мышление.
При чем здесь "работа", если речь шла о "знании азов".

К тому же, вы даже не удосужились разобраться, в каком контексте шла речь о "знании азов" в цивилизованном обществе.

А именно, ранее кое-кем все без исключения экономисты и юристы были названы мошенниками и паразитами. Тогда бы из этого следовало бы, что все цивилизованные люди, знающие азы экономики и юриспруденции, тоже являются начинающими мошенниками и паразитами.

Но вы, судя по всему, тоже считаете, что цивилизованному человеку не нужно знать вышеуказанных "азов".

А вот какое к этому имеют отношение основы стоматологии?
В данном контексте стоматология никак ни эквивалентна экономике и юриспруденции, чтобы приводить такие аналогии, какие привели вы. Так что это все у вас лишь эмоции.

>> Ну а то что вы к гуманитариям забыли отнести деятелей культуры деятелей культуры
>
> рукалицо.тифф
> действительно, после такого ещё больше хочется, чтобы гуманитариев было как можно меньше.

Тогда это уже дискриминация.
Хотя разговор в начале был всего лишь о людях, которые занимаются не своим делом.
А вы тоже решили перевести на всех без исключения гуманитариев.
Кроме того, вы видимо, автоматически считая себя непременно "техником", презираете при этом культуру и искусство.

Хотя, с учетом вашей чрезмерной эмоциональности, препятствующей осознанному мышлению, по классификации, упомянутой в посте выше, вы очень даже претендуете на гуманитария, который стесняется своей гуманитарной сути, и ненавидит всех других гуманитариев, ему же подобных.

И ненавидите вы их в независимости от того, своим они делом занимаются или нет, а лишь на основании рода их деятельности.

Этим самым вы лишь уподобляетесь тем людям, кто точно так же ненавидит техников и ИТшников в частности.


"Статья про архитектуру LLVM"
Отправлено arisu , 01-Июн-12 09:42 
> А именно, ранее кое-кем все без исключения экономисты и юристы были названы
> мошенниками и паразитами. Тогда бы из этого следовало бы, что все
> цивилизованные люди, знающие азы экономики и юриспруденции, тоже являются начинающими
> мошенниками и паразитами.

дальше, в принципе, говорить не о чем. это псевдологика типа «если человек знает методы обжуливания, то он начинающий жулик».


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 11:42 
>> А именно, ранее кое-кем все без исключения экономисты и юристы были названы мошенниками и паразитами. Тогда бы из этого следовало бы, что все цивилизованные люди, знающие азы экономики и юриспруденции, тоже являются начинающими мошенниками и паразитами.
>
> дальше, в принципе, говорить не о чем. это псевдологика типа «если человек знает методы обжуливания, то он начинающий жулик».

Вы считаете, что эта очередная ваша аналогия уместна?
Как и ваша прошлая аналогия про дантиста.

Похоже у вас проблемы еще и с мышлением по аналогиям. Вы аналогии приводите совершенно наобум.

Что по-вашему типа "если обжуливание, то жулик"? К чему вы этот "тип" прикладываете?
Вы даже не потрудились это указать.

Это по-прежнему ваши эмоции.


"Статья про архитектуру LLVM"
Отправлено как4екумек , 01-Июн-12 18:34 
> Это полное невежество. В современном цивилизованном обществе уже давно принято знать хотя бы азы экономики и юруспруденции.

Мало ли что принято, особенно в так называемом современном цивилизованном обществе.

Это не полезнее и не научнее чем знать азы православия или ислама или астрологии. К тому же известно что знание глупостей более распространено в ширнармассах, чем чего нибудь правильного и полезного.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 19:13 
>> Это полное невежество. В современном цивилизованном обществе уже давно принято знать хотя бы азы экономики и юруспруденции.
>
> Мало ли что принято, особенно в так называемом современном цивилизованном обществе.

Согласен, здесь правильнее было говорить не о "принято", а именно о полезности.

А то что вы уперлись в узкие рамки своей профессиональной деятельности (если она у вас конечно вообще есть) - это еще не значит, что вы от этого стали умнее, и что вы можете самостоятельно применять с пользой результаты хотя бы собственной деятельности. Без помощи экономистов и юристов, которым, прямо или косвенно, вы продали себя с потрохами на наименее выгодных для себя условиях. И не потому что они такие плохие, а исключительно по причине вашей безграмотности.

Потому что знание азов экономики и юриспруденции позволяет понимать основы устройства современного общества. И даже если вам устройство окружающего вас общества не нравится, крайне полезно хотя бы приблизительно понимать, что вокруг вас происходит.

А иначе не удивительно, что подобные вам невежды постоянно чувствуют себя лохами, а те кто разбираются в устройстве общества, кажутся им мошенниками.
О том и была речь.

> Это не полезнее и не научнее чем знать азы православия или ислама или астрологии. К тому же известно что знание глупостей более распространено в ширнармассах, чем чего нибудь правильного и полезного.

Здесь то же самое, если вы считаете все это бесполезным для лично вас, это еще не означает, что это действительно бесполезно.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 21:10 
> Простейшая статистика говорит, что большинство гуманитариев - это экономисты и юристы.

Да, и еще к сказанному выше.
Это большая ошибка вообще безусловно относить экономистов и юристов к гуманитариям.
А то что экономика и юриспруденция - это якобы исключительно гуманитарные области - это всего лишь стереотип.

Экономика и юриспруденция - это скорее "на стыке". И там активно применяются математика и логика.

Гуманитарные области - это все-таки прежде всего культура и искусство.

Очень многие техники с успехом освоили в последствии экономику и юриспруденцию, особенно когда начинали заниматься собственным бизнесом (поскольку работа по найму в технических направлениях меньше мотивирует для освоения экономики и юриспруденции).

А вот гуманитариям, которые начинали с экономики и юриспруденции, и даже бизнеса, очень трудно бывает освоить технические направления. Да, такой момент присутствует. Это отчетливо видно сейчас, когда остро встает вопрос об автоматизации предприятий. И когда "бумажные" технологии и личные связи часто уже не спасают.


"Статья про архитектуру LLVM"
Отправлено архитектор , 31-Май-12 19:14 
>> Смотря что именно вы понимаете под развитием.
>> Просто увеличение количества разных функций и разрастание кода?
>> Вы правы, для этого в gcc нет никаких помех.
> А ччо, на докторе Доббе пишут, что в LLVM "количества разных функций и разрастание кода" __уменьшаются__ ??! Точно, надо читать.

Скорее всего в llvm тоже не уменьшаются.
Только вопрос был в том, что именно считать развитием.

Прежде чем на что-то отвечать, бывает полезно читать весь текст, а не только последнюю фразу.


"Статья про архитектуру LLVM"
Отправлено zzz , 31-Май-12 00:29 
сила LLVM в модульности и одно это рано или поздно уделает gcc, если gcc не пойдет тем же путем. даешь аналог LLVM под GPL3!

"Статья про архитектуру LLVM"
Отправлено анонимвввв , 31-Май-12 01:48 
> сила LLVM в модульности и одно это рано или поздно уделает gcc,
> если gcc не пойдет тем же путем. даешь аналог LLVM под
> GPL3!

c 4.5 в gcc есть модули.

первая картинка ничем не отличается от работы gcc, только у gcc intermediate представление это gimple(архитектуро-независимый), а у llvm арзитектурозависимый bitcode.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 08:50 
>c 4.5 в gcc есть модули.

может и есть, но LLVM это и есть модули. вообщем проблему как то понимают даже разработчики gcc не зря недавние разговоры о его преобразовании хоть и больно фантастическими они выглядят.
имхо разработчикам gcc нужно брать лучшее из gcc и лепить что то типа LLVM только под GPL3 лучше и имя при этом сменить чтобы все понимали что это новый модульный и расширяемый компилятор-оптимизатор-кодогенератор


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 08:51 
парсер-оптимизатор-кодогенератор



"Статья про архитектуру LLVM"
Отправлено Алексей , 31-Май-12 09:21 
Да-да-да, совсем ничем не отличается. Только почему-то для LLVM уже с десяток фронтендов сделали, а для GCC всего 4 за всю его жизнь. Видимо какие-то отличия в модульности все-таки есть. Про проблемы модельности в статье, кстати, написано. Тут вообще кто-нибудь их читает или все сразу в комменты лезут разводить холивор на тему "LLVM-vs-GCC"?

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 09:36 
> почему-то для LLVM уже с десяток фронтендов сделали, а для GCC всего 4 за всю его жизнь

Что, правда? А ну-ка давайте посчитаем: C, C++, Objective C, Fortran, Java, Ada, Go. Это еще только основные фронтенды, и их уже шесть. А еще есть GNU Pascal Compiler, Mercury, gdc (фронтенд для языка D), GHDL (фронтенд для VHDL), PL/1, GCC Unified Parallel C, Modula-2 и даже COBOL. Это уже дюжина.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 09:45 
> Это еще только основные фронтенды, и их уже семь.


> Это уже чортова дюжина.

Fixed. Арифметика такая сложная…


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 09:58 
> Это уже полтора десятка.

Fixed снова. Не мой сегодня день…


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:47 
> Fixed снова. Не мой сегодня день…

Зато GCC явно зачет: для него столько фронтэндов что вы обсчитались даже :)


"Статья про архитектуру LLVM"
Отправлено как4екумек , 01-Июн-12 18:37 
>> почему-то для LLVM уже с десяток фронтендов сделали, а для GCC всего 4 за всю его жизнь
> Что, правда? А ну-ка давайте посчитаем:  Java

Фигня какая. Где же тогда шустрые проги перекомпилированные с гадкой jvm в настоящие бинарники замечательным gcj? Вот и с большей частью остального так - для галочки, а не для работы.



"Статья про архитектуру LLVM"
Отправлено arisu , 01-Июн-12 18:46 
> Фигня какая. Где же тогда шустрые проги перекомпилированные с гадкой jvm в
> настоящие бинарники замечательным gcj?

а никому это не надо. жаба — крап.

> Вот и с большей частью остального так — для галочки, а не для работы.

дададада. а ещё солнца и луны нет, это всё иллюзии. для галочки.


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:14 
> а для GCC всего 4 за всю его жизнь

ну вот не силён ты в теме — зачем тогда Вещать? тебя потом будут носом тыкать в твою ерунду, и тебе будет стыдно.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 20:05 
> потом будут носом тыкать в твою ерунду, и тебе будет стыдно.

Более того, теперь все могут видеть что Алексей Королев из г. Москва, которому 32 года - ламер. FAIL.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 02:05 
> сила LLVM в модульности

Не только. Ещё в том, что он фактически x86-only и C-only


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 02:15 
> Не только. Ещё в том, что он фактически x86-only и C-only

С какой это стати? Ничего подобного.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 02:16 
>> Не только. Ещё в том, что он фактически x86-only и C-only
> С какой это стати? Ничего подобного.

Очень аргументировано:)


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 02:37 
>>> Не только. Ещё в том, что он фактически x86-only и C-only
>> С какой это стати? Ничего подобного.
> Очень аргументировано:)

Ничуть не меньше вашего :)


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:45 
> С какой это стати? Ничего подобного.

Да, конечно, только тут недавно были разборы полетов - для ARM он конечно код генерит. Но мало того что с прорвой багов, так еще и просто дико неоптимальный. Ну это яппл наверное еще кой-как допинает. А вот остальные архитектуры япплу никуда не вперлись...


"Статья про архитектуру LLVM"
Отправлено кевин , 31-Май-12 03:05 
ээ ну да конечно. гцц когдато тоже был только для ibm pc чтоли оно называлось? а потом портировали. только вот ллвм это не компилятор. и фактически портировать его никуда не надо надо написать к нему бэкэнд под архитектуру и все фронтенды-компиляторы языков заработают автоматом.

ЗЫ все почеемуто путают LLVM с Clang/LLVM а кланг это ведь всеголишь C/C++ компилятор в LLVM код


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 08:17 
> написать к нему бэкэнд под архитектуру и все фронтенды-компиляторы языков заработают автоматом.

В этом и состоит проблема - никто не собирается писать к нему бэкенды


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:15 
> ээ ну да конечно. гцц когдато тоже был только для ibm pc
> чтоли оно называлось? а потом портировали.

вообще-то gcc как раз *портировали на x86*. но Иксперты как обычно ни разу не в курсе.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:45 
> вообще-то gcc как раз *портировали на x86*.

Капитан эпичен :)


"Статья про архитектуру LLVM"
Отправлено Алексей , 31-Май-12 09:01 
Перестаньте пороть чушь и прочтите, наконец, статью.

"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:15 
>> сила LLVM в модульности
> Не только. Ещё в том, что он фактически x86-only и C-only

нет.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:49 
> нет.

Теоретически - нет. Практически... практически сие пиляет эппл. Ну и им кроме x86 и может быть ARM ничего и не надо больше.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 02:03 
>>> сила LLVM в модульности
>> Не только. Ещё в том, что он фактически x86-only и C-only
> нет.

Не "нет", а ДА, троллишка


"Статья про архитектуру LLVM"
Отправлено arisu , 01-Июн-12 07:31 
ты бы перед тем, как писать глупости, погонял clang и clang++. впрочем, кому я это предлагаю… Анонимные Иксперты не опускаются до таких частностей.

"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:14 
кагбэ gcc вполне себе модульный. но ты же если когда его исходники и открывал, то не чтобы разбираться, а чтобы перед пацанами пальцы потом гнуть.

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:46 
> а чтобы перед пацанами пальцы потом гнуть.

А бсдшники что-то еще умеют? По-моему пальцы гнут они намного больше чем все остальное вместе взятое.


"Статья про архитектуру LLVM"
Отправлено добрый дядя , 31-Май-12 00:55 
> Может хоть после этого прекратят чушь пороть о том, что архитектура гцц не позволяет ему развиваться.

позволяет развиваться, но не позволяет встраивать в другие программы и проекты

там настолько обильно напирают на этот факт что это уже смешно обсуждать тут - LLVM модульный библиотечный и отсюда тонны преимуществ


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:16 
>> Может хоть после этого прекратят чушь пороть о том, что архитектура гцц не позволяет ему развиваться.
> позволяет развиваться, но не позволяет встраивать в другие программы и проекты

ВНИЗАПНА! может, это потому, что такой цели при создании gcc и не ставилось?


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:47 
> ВНИЗАПНА! может, это потому, что такой цели при создании gcc и не ставилось?

Эх, Кэп, боюсь что сложновато тебе будет объяснять дикарям принцип действия микроволновки...


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 17:20 
ну дык… призвание такое, что уж тут поделать…

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:50 
> ну дык… призвание такое, что уж тут поделать…

Забавно наблюдать как дикари типа изена грозятся научить читать и все-так прочитать этот чертов мануал :)


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:42 
> Отлично. Почитаем.

Тебе это не поможет.


"Статья про архитектуру LLVM"
Отправлено inv , 31-Май-12 02:14 
На мой взгляд, самая большая беда gcc - отсутствие нормальной оптимизации. Нет, он там конечно что-то оптимизирует, но мало.
Например, 7zip собранный gcc работает (бенчмарк) чуть ли не на 30% медленнее чем тот же 7zip собранный icc или msc под виндой.

"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 02:15 
> На мой взгляд, самая большая беда gcc - отсутствие нормальной оптимизации. Нет,
> он там конечно что-то оптимизирует, но мало.
> Например, 7zip собранный gcc работает (бенчмарк) чуть ли не на 30% медленнее
> чем тот же 7zip собранный icc или msc под виндой.

man gcc

и руки ровняй, тролль


"Статья про архитектуру LLVM"
Отправлено inv , 31-Май-12 04:40 
Сам подумал, что сказал?
То есть, по-твоему, авторы 7zip специально криво собирают его clang'ом и gcc? :D

Конечно, есть очень небольшая вероятность того, что те кто писал мейкфайлы p7zip совсем не знают о том как работать с gcc. Предлагаю тебе исправить сию проблему и выложить сюда "правильный" мейкфайл, от пряморукого разработчика. Сравним, так сказать, прямоту рук. Можешь даже закоммитить им на sourceforge, опенсорс же!


"Статья про архитектуру LLVM"
Отправлено erfea , 31-Май-12 08:27 
>те кто писал мейкфайлы p7zip совсем не знают о том как работать с gcc

ах ну да, от мекфайла оптимизация зависит ну-ну...


"Статья про архитектуру LLVM"
Отправлено inv , 31-Май-12 10:42 
А ключи компиляции из астрала берутся?

"Статья про архитектуру LLVM"
Отправлено Andrey Mitrofanov , 31-Май-12 11:15 
> А ключи компиляции из астрала берутся?

Почти. Из ./configure-а. Никакой:D связи с make.


"Статья про архитектуру LLVM"
Отправлено anonymous , 31-Май-12 15:11 
У него нету сего скрипта.

"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:19 
> Сам подумал, что сказал?
> То есть, по-твоему, авторы 7zip специально криво собирают его clang'ом и gcc?
> :D

-O3 -march=native -mtune=native как минимум. но сборка p7z этого не делает по многим причинам. а ты просто обезьяна, запускающая make.


"Статья про архитектуру LLVM"
Отправлено anonymous , 31-Май-12 15:31 
1) По каким это причинам?
2) Результаты конечно же мы увидем?

"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 17:23 
> 1) По каким это причинам?

пойди и спроси у автора мэйкфайлов. получишь информацию из первых рук, а не от анонимуса с опеннета.

> 2) Результаты конечно же мы увидем?

результаты чего? ты мне предлагаешь покупать и куда-то ставить винду, туда ставить m$vc, заниматься со всем этим сексом — и всё только для того, чтобы доказать кому-то то, что лично меня совершенно не волнует? такую работу бесплатно я не делаю.


"Статья про архитектуру LLVM"
Отправлено anonymous , 31-Май-12 19:49 
> пойди и спроси у автора мэйкфайлов. получишь информацию из первых рук, а не от анонимуса с опеннета.

Другого ответа и не ожидал.

> результаты чего? ты мне предлагаешь покупать и куда-то ставить винду, туда ставить m$vc, заниматься со всем этим сексом — и всё только для того, чтобы доказать кому-то то, что лично меня совершенно не волнует?

Отмазка так себе.
1) Ты скромно упустил "icc".
2) Мотивации больше чем отбавляй: хотя бы для комьюнити организовать труЪ быстрый 7z.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:53 
> Другого ответа и не ожидал.

ИЧСХ, он опять выступил Капитаном.

> Отмазка так себе.
> 1) Ты скромно упустил "icc".

А это вообще неведомая хрень. Под AMDшные процессоры например оно генерит лютейший г-нокод и там пожалуй gcc его еще и обставит. С таким подходом да еще и проприетарностью его область применимости сужается до размеров кошкиного зада.

> 2) Мотивации больше чем отбавляй: хотя бы для комьюнити организовать труЪ быстрый 7z.

А комьюнити бьется в истерике от недостачи скорости 7z? Что-то не вижу толп бьющихся в истерике :)


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 20:00 
> Другого ответа и не ожидал.

конечно. а если бы я начал говорить, почему, ты бы радостно сказал "ага-ага, ты точно лучше автора знаешь!"

> Отмазка так себе.

это не "отмазка", а факты.

> 1) Ты скромно упустил "icc".

не любитель блобов.

> 2) Мотивации больше чем отбавляй: хотя бы для комьюнити организовать труЪ быстрый
> 7z.

тебе надо? ты и делай. меня устраивает та скорость, что есть.


"Статья про архитектуру LLVM"
Отправлено Kodirr , 31-Май-12 11:55 
> На мой взгляд, самая большая беда gcc - отсутствие нормальной оптимизации.

Я думаю, не только из-за неё стали переписывать ГЦЦ. Это вообще г-но мамонта и давно просится на покой, так что полностью поддерживаю инициативу по развитию llvm. И что забавно, BSD-шникам ничего в танце не мешает - они просто делают свою работу и уже практически водрузились на clang. И только пингвиноиды всё ещё ищут отмазки, чтобы не переходить...


"Статья про архитектуру LLVM"
Отправлено arisu , 31-Май-12 13:17 
>> На мой взгляд, самая большая беда gcc — отсутствие нормальной оптимизации.
> Я думаю, не только из-за неё стали переписывать ГЦЦ.

…а ещё и из-за того, что огрызок cannot into GPLv3.


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:50 
> …а ещё и из-за того, что огрызок cannot into GPLv3.

Конечно, они ж тивоизаторы. Какой же это будет эаппл если не будет зажимать сектантские части тела в пыточные тиски?!


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 19:56 
> Я думаю, не только из-за неё стали переписывать ГЦЦ. Это вообще г-но
> мамонта и давно просится на покой,

Мнение (г@гно)кодеров на дотнете, пишущих "типа сервер" imap, pop и что там еще одной левой несомненно очень важно для нас. Но что-то мне подсказывает что ваш любимый дотнет подохнет быстрее gcc :)

Сейчас поддержка новой эвалборды/SoC гццом - просто хороший тон. Почему? А потому что пингвин там всем нужен, например.


"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 01:58 
>> На мой взгляд, самая большая беда gcc - отсутствие нормальной оптимизации.
> И что забавно, BSD-шникам ничего в танце не
> мешает - они просто делают свою работу и уже практически водрузились
> на clang.

Не "BSD-шникам", а "FreeBSD-шникам". Последние не озабочиваются чем-то кроме x86 (А с C-Lang'ом им об этом ещё долго (или никогда) даже мечтать не придётся)



"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 15:49 
> На мой взгляд, самая большая беда gcc - отсутствие нормальной оптимизации.

O_O Вообще-то тамошний оптимизатор делает LLVM на раз. Местами - в разы (на фоне которых 30% не так уж дурно смотрятся, btw). И да, гнутый си помнится у любителей AVR с easyelectronics'а сумел оттранслировать класс для дергания лапками в считанные асмовые команды. А llvm для начала вообще не поддерживает этот набор команд, так что даже и сравнить не выйдет...


"Статья про архитектуру LLVM"
Отправлено Аноним , 31-Май-12 11:20 
Эта статья уже давно была доступна в книге "The Architecture of Open Source Applications" vol.1
http://www.aosabook.org/en/llvm.html

"Статья про архитектуру LLVM"
Отправлено Kodirr , 31-Май-12 11:52 
Их статья вот: Last-Modified: Wed, 09 May 2012 18:14:00 GMT
Впрочем, неважно - от перепечатки статьи заново смысла нет.

"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 16:03 
Я так и не понял, чем GCC AST хуже LLVM bytecode? Лицензией?

"Статья про архитектуру LLVM"
Отправлено Аноним , 01-Июн-12 16:09 
LLVM IR is a Complete Code Representation

In particular, LLVM IR is both well specified and the only interface to the optimizer. This property means that all you need to know to write a front end for LLVM is what LLVM IR is, how it works, and the invariants it expects. Since LLVM IR has a first-class textual form, it is both possible and reasonable to build a front end that outputs LLVM IR as text, then uses UNIX pipes to send it through the optimizer sequence and code generator of your choice.

It might be surprising, but this is actually a pretty novel property to LLVM and one of the major reasons for its success in a broad range of different applications. Even the widely successful and relatively well-architected GCC compiler does not have this property: its GIMPLE mid-level representation is not a self-contained representation. As a simple example, when the GCC code generator goes to emit DWARF debug information, it reaches back and walks the source level "tree" form. GIMPLE itself uses a "tuple" representation for the operations in the code, but (at least as of GCC 4.5) still represents operands as references back to the source level tree form.

The implications of this are that front-end authors need to know and produce GCC's tree data structures as well as GIMPLE to write a GCC front end. The GCC back end has similar problems, so they also need to know bits and pieces of how the RTL back end works as well. Finally, GCC doesn't have a way to dump out "everything representing my code," or a way to read and write GIMPLE (and the related data structures that form the representation of the code) in text form. The result is that it is relatively hard to experiment with GCC, and therefore it has relatively few front ends.


По-моему, не фатально для GCC.