LINUX.ORG.RU

Вышел LLVM/Clang 3.9

 ,


3

7

Что нового в LLVM:

  • разработчики отказались от поддержки autoconf в пользу CMake;
  • добавлена совместимость с ABI для GCC версии 5 и выше;
  • добавлен анализатор MemorySSA, который работает быстрее и точнее, чем MemoryDependenceAnalysis.
  • добавлена поддержка ThinLTO через ключ -flto=thin — по сравнению с обычным LTO кодогенерация намного быстрее, а итоговый код производительнее;
  • теперь возможно использование ключа -march=skylake-avx512, активирующего поддержку соответствующих процессоров Intel.
  • теперь присутствует полноценная поддержка ARM-архитектур Qualcomm's Kryo и Broadcom's Vulcan, начальная поддержка Cortex-R8 и ARMv8.2-A.
  • для бэкенда AMDGPU реализованы шейдеры OpenGL, буферы, атомарные счётчики, шейдерные расширения.

Что нового в Clang:

  • все возможности OpenCL 2.0 полностью реализованы;
  • полностью реализован ОpenMP 4.5 для CPU, ведётся работа над GPU-частью;
  • начато внедрение возможностей стандарта C++1z, которые активируются ключом -std=c++1z;
  • есть многочисленные изменения для ARM, MIPS и PowerPC.

>>> Подробности

Ответ на: комментарий от xaizek

И там и там есть баги которые никому не мешают, тут другой случай, gcc выдает страшно медленный код и всем пофиг. а в коде gcc есть коментарий «extraneous zero extends mysteriously created by gcc». Магия однако.

pftBest ★★★★ ()
Ответ на: комментарий от tailgunner

А что, gcc не разделен на уровни? Frontend, middle-end, backend - не уровни?

Анализаторы специально выбирали что бы можно было делать межуровневые хаки.

anonymous ()
Ответ на: комментарий от anonymous

специально выбирали что бы можно было делать межуровневые хаки.

Можно пример межуровневого хака?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Можно пример межуровневого хака?

Я не настолько в это погружался. Просто в рассылке разработчики так обосновывали выбор анализатора.

anonymous ()

Тред не читал. Есть кто успешно пользуется сабжем на микроконтрллерах?

unt1tled ★★★★ ()
Ответ на: комментарий от tailgunner

Если я правильно понял о чём идёт речь, то вот пример: в llvm на следующем уровне теряется информация предыдущего, если только явно не сохранена, и, скажем, цикл front-end превращает в поток инструкций с condition + jmp, а потом для целей оптимизации эти инструкции эвристиками распознаются в циклы в back-end (всё так не восстановишь, конечно же). В GCC похоже (судя по заголовкам, что я видел), что те же циклы трансформируются с сохранением ссылок на высокоуровневые конструкции, и back-end обходится без костылей, а смотрит на исходные данные, которые предоставляют ему готовую информацию. В llvm это самое сохранение/передача информации между уровнями тот ещё бич, т.е. они разделили всё для каких-то целей, но постоянно борятся с последствиями этого разделения.

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Именно на основании прочитанного по ссылке я и сделал такой вывод. Столлман болен.

They have been supported by Apple, the company which hates our freedom so much that its app store for the ithings _requires_ all apps to be nonfree.


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

The nonfree compilers that are now based on LLVM prove that I was right — that the danger was real. If I had «opened» up GCC code for use in nonfree combinations, that would not have prevented a defeat; rather, it would have caused that defeat to occur very soon.


Очевидный диагноз.

The only code that helps us and not our adversaries is copylefted code.


Ага, как же. Уберите поддержку Linux из продуктов Sun/Oracle и кому этот ваш Linux вообще будет нужен?

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Именно на основании прочитанного по ссылке я и сделал такой вывод. Столлман болен.

Ты мало того, что герменевтик, так еще и доктор.

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

Он говорит, что именно GPL2 вынудила корпорации сотрудничать.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Ну да конечно. Наверное Apple сотрудничает с BSD тоже благодаря GPL2.

bbk123 ★★★★★ ()
Ответ на: комментарий от xaizek

Вот это на cmake больше похоже

У cmake один интерфейс - cmake. А что внутри - дело каждого.

Каждый набор исходников самодостаточный и хоть 100 разных версий в разных пакетах будут себе работать абсолютно независимо.

Really?

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Build_...

invy ★★★★★ ()
Ответ на: комментарий от bbk123

Наверное Apple сотрудничает с BSD

Что за корпорация такая - BSD?

tailgunner ★★★★★ ()
Ответ на: комментарий от invy

У cmake один интерфейс - cmake. А что внутри - дело каждого.

А у autotools проектов интерфейс это configure.

Really?

Really. Там же есть вызов autoconf, в таком случае он нужен. Ещё раз, autotools предполагают такой workflow:

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

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

xaizek ★★★★★ ()
Ответ на: комментарий от bbk123

Он говорит, что именно GPL2 вынудила корпорации сотрудничать.

Наверное Apple сотрудничает с BSD тоже благодаря GPL2.

Что за корпорация такая - BSD?

Такая же, как GNU/Linux.

И этот человек называет больными других.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Ты уже читать разучился? BSD - никакая не корпорация, а open source проект, с которым сотрудничает Apple. Точно так же, как GNU/Linux и Oracle.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

BSD - никакая не корпорация, а open source проект, с которым сотрудничает Apple

Нет проекта BSD - есть лицензия BSD, есть проекты {Net,Open,Free}BSD, а проекта BSD нет. И в любом случае, непонятно, зачем ты пытался привести пример сотрудничества Apple с неким opensource-проектом, когда речь о (равноправном!) сотрудничестве корпораций при работе над opensource-проектом.

Точно так же, как GNU/Linux и Oracle.

Ты лучше расскажи, как Oracle сотрудничает с Redhat и что было бы, если бы Linux был под BSD.

tailgunner ★★★★★ ()
Ответ на: комментарий от bbk123

Наверное Apple сотрудничает с BSD тоже благодаря GPL2.

Очень плодотворное сотрудничество! Настолько плодотворное, что для систем *BSD вместо няшного DE на Cocoa API пилится какой-то страшный кастрат на Qt 5.

Где все эти наработки этих крутых фирм (Apple, Sony) в *BSD? Нет их. Благодаря лицензии. Вот и родители-BSD'шники довольствуются крохами со стола, пока macOS и Orbit OS цветут и пахнут.

EXL ★★★★★ ()
Ответ на: комментарий от tailgunner

BSD - общее название, так же, как и GNU/Linux. И речь шла не о равноправном, а о вообще сотрудничестве. Если бы Linux был под лицензией BSD, с ним было бы тоже самое, что и сейчас. Это вообще не вопрос различий лицензий BSD и GPL. Тем более, что в значительное количество кода в Linux дистрибутивах - никакой не GPL.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Если бы Linux был под лицензией BSD, с ним было бы тоже самое, что и сейчас.

Нет.

EXL ★★★★★ ()
Ответ на: комментарий от bbk123

BSD - общее название, так же, как и GNU/Linux. И речь шла не о равноправном, а о вообще сотрудничестве.

Прекрасно. Расскажи о сотрудничестве OpenBSD и Apple.

Если бы Linux был под лицензией BSD, с ним было бы тоже самое, что и сейчас.

Я правильно понимаю, что это ответ на вопрос «расскажи, как Oracle сотрудничает с Redhat и что было бы, если бы Linux был под BSD»?

Тем более, что в значительное количество кода в Linux дистрибутивах - никакой не GPL.

Совсем недавно ты говорил о GNU/Linux - это по определению GNU userspace поверх ядра Linux. Внезапно, всё под GPL.

tailgunner ★★★★★ ()
Ответ на: комментарий от EXL

Где все эти наработки этих крутых фирм (Apple, Sony) в *BSD? Нет их. Благодаря лицензии. Вот и родители-BSD'шники довольствуются крохами со стола, пока macOS и Orbit OS цветут и пахнут.

https://opensource.apple.com/source/xnu/xnu-3248.60.10/

Также man darwin. Где использовали - то и открыли. Причем под лицензией одобренной FSF. И это уже дело BSD - брать что-то оттуда или нет.

anonymous ()
Ответ на: комментарий от EXL

По сути ты говоришь не о сотрудничестве, а о халяве. Убери халяву из Linux и она никому нах нужна не будет.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Убери халяву из Linux и она никому нах нужна не будет.

Так получилось, что халява теперь заруливает на мобилках, роутерах и серверах. Зачем её убирать, если она замечательно там прижилась?

EXL ★★★★★ ()

А можно как-нибудь убрать DeadEye из корректоров?

alexferman ★★ ()
Ответ на: комментарий от EXL

XNU/Darwin бесполезен без вот этого всего

И? Ни одна лицензия не говорит, что если ты взял что-то, то теперь открывай все что вообще написал и напишешь.

Много ты знаешь осей на этом окружении? Где там OpenDarwin?

Бери, пиши, продвигай. Или не умеешь, или времени нет, или не твое дело?

anonymous ()
Ответ на: комментарий от anonymous

Бери, пиши, продвигай. Или не умеешь, или времени нет, или не твое дело?

Зачем? Рынок порешал и выбрал Linux.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Зачем? Рынок порешал и выбрал Linux.

Вот именно, и развивать что GNU Hurd, что OpenDarwin, что еще что-нибудь непопулярное - бесперспективно. Хоть под GPL, хоть под BSD, хоть под Public Domain. А что касается Apple - она дает ядро, базовую систему и компилятор. Этого вполне достаточно, чтоб начать писать свою ОС. И не Apple виновата, что писать гуй у них получается, а у сторонников халявы - нет.

anonymous ()
Ответ на: комментарий от EXL

Я говорил о таких вещах, как Oracle RDBMS, OracleJDK и т.п.

bbk123 ★★★★★ ()
Ответ на: комментарий от EXL

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

pftBest ★★★★ ()
Ответ на: комментарий от pftBest

Не знаю, друже. Я вообще думал ты про APFS.

EXL ★★★★★ ()
Ответ на: комментарий от bbk123

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

Что кооперация с Microsoft опасна.

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

tp_for_my_bunghole ()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 3)

LLVM/Clang 3.9 практически годно для компиляции FreeBSD 11.0-PRERELEASE и портов (правда, не всех, но 99% из установленных у меня пересобрались).

iZEN ★★★★★ ()
Ответ на: комментарий от tp_for_my_bunghole

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

-- Официант! Чай с молоком этому джентльмену!

anonymous ()
Ответ на: комментарий от anonymous

Официант! Чай с молоком этому джентльмену!

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

anonymous ()
Ответ на: комментарий от iZEN

А разве FreeBSD не перешла полностью на clang уже несколько лет как?

Softwayer ★★ ()
Ответ на: комментарий от Softwayer

В базовой системе FreeBSD 11-PRERELEASE сейчас LLVM/Clang 3.8.0. Система обновляется часто, а сам компилятор - нет, но зато требует для себя два часа времени на пересборку. Я установил LLVM/Clang 3.9.0 из порта и отказался от системного компилятора - выиграл время на обновлении системы в три раза (вместо 4,5 часов сейчас занимает 1,5 часа). Кроме чтого, этот компилятор новее того, что есть в системе, можно использовать новые опции компиляции.

iZEN ★★★★★ ()
Ответ на: комментарий от anonymous

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

Развитие технологий было предсказано в 1965 Гордоном Муром(Moore's law), и подобными.

Пример в виде мысли: «Когда компания предлагает мне скидку после прекращения подписки на их сервис, они как бы признают что всё это время я переплачивал».

tp_for_my_bunghole ()
Ответ на: комментарий от iZEN

Система обновляется часто, а сам компилятор - нет, но зато требует для себя два часа времени на пересборку.

Free Pascal 3.0.0 компилирует себя за 103 секунды, на одном ядре двуядерного Intel 3Ghz.

tp_for_my_bunghole ()
Ответ на: комментарий от tp_for_my_bunghole

Система обновляется часто, а сам компилятор - нет, но зато требует для себя два часа времени на пересборку.

В 3 потока на Intel 3GHz 2 cores, Free Pascal сбирает себя за 47 секунд.

> fpc fpmake
> time ./fpmake build --globalunitdir=/usr/lib/fpc/3.0.0 -T 3
tp_for_my_bunghole ()
Ответ на: комментарий от tp_for_my_bunghole

К большому сожалению, при программировании операционных систем всё ещё используется C/C++, а не Pascal/Modula-3. Программисты-системщики не могут отказаться от старых привычек и перейти на более прогрессивные методы написания кода, с автоматическим избежанием проблем вроде переполнения буфера и использования для представления строк набора байтов с завершающим нулём (алгоритмы Шлемиля в действии, да). Уж сколько книг выпустили по правильным алгоритмам и языкам - нет, они не хотят читать!!

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

К большому сожалению, при программировании операционных систем всё ещё используется C/C++, а не Pascal/Modula-3.

Кумулятивный эффект, инерция. Создавать новое с самого начала нелегко, особенно если ниша занята. Торвальдс начал, а сейчас студенты не те, не та среда.

Free Pascal системный язык программирования, с указателями, ООП с перегрузкой операторов и интерфейсами, безопасной системой типов, exceptions, generics, модули(units) с инициализацией и деинициализацией, inline assembler. Текстовые макро только простые в одну строку. В принципе это позволяет делать IDE для языка на таком же уровне как у Java(хотя я предпочитаю Emacs).

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

Самая популярная ОС на Free Pascal - модульная Ultibo Core для Raspberry Pi, созданная австралийцами.

Дистрибутив с таким подходом как Gentoo воспринимался бы совсем иначе с быстрым компилятором.

tp_for_my_bunghole ()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 2)
Ответ на: комментарий от bbk123

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

GladAlex ★★★★★ ()
Ответ на: комментарий от tp_for_my_bunghole

Кстати сказать Ц/Цхх долго компиляет не только и не столько из-за синтаксиса, сколько из-за решения задач оптимизации при кодогенерации. У меня бывало, что изменение уровня оптимизации с -O0 на -Os (на Green Hills ARM cxx) увеличивало время компиляции в единиц секунд до такого же количества минут. Многочасовая компиляция фортрановских исходников (примеры леденящих душу историй можно найти в интернете) имеет ту же причину в основе - оптимизацию.

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

anonymous ()
Ответ на: комментарий от anonymous

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

Ой, не надо а, папаша! В «Паскале» (под коим я имею ввиду языки — Оберон, Активный Оберон и Компонентный Паскаль) вообще нет таких понятий как оптимизационные флаги. Кстати, это по настоящему промышленные языки.

anonymous ()
Ответ на: комментарий от GladAlex

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

исправил

anonymous ()
Ответ на: комментарий от tp_for_my_bunghole

Это достижение людей, которые занимались open source. GPL - лишь малая часть этого.

bbk123 ★★★★★ ()
Ответ на: комментарий от anonymous

ЧТД - паскаль генерит подстрочник - дословный перевод с ЯВУ, никак не оптимизируя. Кстати перл, жаба, сишарп и питон - куда уж более промышленные, но при этом могут быть примерами эталонных тормозов.

anonymous ()
Ответ на: комментарий от anonymous

Два чая этом анону.

Но, кстати, GPL вполне защищает и злые компании от других злых компаний.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.