LINUX.ORG.RU

Релиз набора компиляторов LLVM 9.0

 , ,


0

2

После полугода разработки был выпущен релиз проекта LLVM 9.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный псевдокод RISC-подобных виртуальных инструкций (виртуальная машина низкого уровня с многоуровневой системой оптимизации). У сгенерированного псевдокода есть возможность преобразования при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Из новых возможностей LLVM 9.0 отмечается обеспечение готовности целевой платформы RISC-V, реализация C++ для OpenCL, возможность разделить программу на динамически подгружаемые части в LLD и поддержка конструкции «asm goto», используемой в коде ядра Linux. В libc++ стал поддерживаться WASI (WebAssembly System Interface), а в LLD появилась возможность динамического связывания WebAssembly.

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

Жду на своем дебиане, к 2025, если повезет.

Add language support for clang-formatting C# files.

Зочем? Если я не ошибаюсь VS итак отлично форматирует код.

New frontend flags:
-analyzer-checker-help

Если я правильно понимаю что это, то мне нравится

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

9.0 блин... с 4.0 не успел обновить...

у clang теперь релиз раз в 6 месяцев, как у Java. Хз зачем. Вообще из всех компиляторов у Microsoft самая нормальная система версионности: Visual Studio 2015, 2017, 2019 и т.д., сразу ясно насколько старые компиляторы поддерживаются, и даже в криокамере ясно следует ли обновлять компилятор или он достаточно новый.

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

он лежит там же, при том я лично уже запутался что и с чем они собирают дабы получить бинарники flang.

поскольку у них вроде как свой clang и llvm под него, если они не синхронизируют кодовую базу то, боюсь, проект загнется.

Slackware_user ★★★★★ ()

С сегодняшнего дня уже как часть инфраструктуры.

> pkg info llvm90
llvm90-9.0.0.r4_1
Name           : llvm90
Version        : 9.0.0.r4_1
Installed on   : Sat Sep 21 10:55:41 2019 MSK
Origin         : devel/llvm90
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : devel lang
Licenses       : MIT, BSD3CLAUSE, PD, REGEX, LLVM, LLVM2
Maintainer     : brooks@FreeBSD.org
WWW            : http://llvm.org/
Comment        : LLVM and Clang
Options        :
	BE_AMDGPU      : on
	BE_FREEBSD     : off
	BE_NATIVE      : off
	BE_STANDARD    : on
	CLANG          : on
	COMPILER_RT    : off
	DOCS           : off
	EXTRAS         : on
	GOLD           : off
	LIT            : off
	LLD            : on
	LLDB           : off
	LLD_LINK       : on
	OPENMP         : on
	PYCLANG        : off
Shared Libs required:
	libedit.so.0
	libxml2.so.2
Shared Libs provided:
	libLLVM-9.so
	libclang-cpp.so.9
	libLTO.so.9
	libRemarks.so.9
	libclang.so.9
	libomptarget.so
	libomp.so
Annotations    :
	FreeBSD_version: 1200519
Flat size      : 665MiB
Description    :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.

This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.

WWW: http://llvm.org/


> pkg info -r llvm90
llvm90-9.0.0.r4_1:
	mesa-dri-18.3.2_5
iZEN ★★★★★ ()
Ответ на: комментарий от yvv

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

Во вторых, шланг нередко выдаёт более медленные бинари.

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

Во вторых, шланг нередко выдаёт более медленные бинари.

У LLVM изначально прицел на ARM, где, по идее, он должен быть лучше GCC. Как оно на самом деле я не в кусре. Да и пофигу мне.

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

у Microsoft самая нормальная система версионности: Visual Studio 2015, 2017, 2019 и т.д

Разве у них не бывает такого, что VS 2015 они выпускают в 2014? Я что-то подобное припоминаю.

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

почему тогда всё везде собирается gcc до сих пор?

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

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

Не понятно, если этот llvm такой годный компилятор, почему тогда всё везде собирается gcc до сих пор?

Только в Linux. И пусть так будет всегда, иначе GCC совсем умрёт, ибо почти все уже мигрировали на Clang/LLVM: Apple (iOS, macOS), Google (Android, Chrome), Mozilla (Firefox), AMD, Intel, *BSD и т. д.

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

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

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

Таки эппл очень много в апстрим llvm коммитят,

Я об этом сообщил.

и те форки шланга и llvm, что я знаю, тоже вливают в апстрим по возможности.

Ну во-первых нет. А во-вторых толку с этого, если это локальная эплу херня? Задача эпла как можно сильнее огородить свою экосистему.

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

Что, нет?

То и нет. Эпл не особо выкатывает локальные наработки, касающиеся их экосистемы. Хотя llvm мне не интересен, а вот за шлангом слежу.

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

Я кручусь в сообществе llvm, я участвовал в нескольких крупных коммерческих форках, поэтому знаю, о чем говорю.

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

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

С чего меня должны волновать потуги какой-то бездарности? Я единственный в этой теме, кто накидал тезисов про онтоп соотносящихся с реальность. Да и ответил на множество вопросов. А что ты сделало? Увидело новость на опеннете и решила нафармить скора? Нелепость. В школу сходи.

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

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

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

2019 = С++20

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

anonymous ()