<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Релиз набора компиляторов LLVM 8.0</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html</link>
    <description>После шести месяцев разработки представлен (http://lists.llvm.org/pipermail/llvm-dev/2019-March/131157.html) релиз проекта LLVM 8.0 (http://llvm.org/) (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Из новых возможностей LLVM 8.0 отмечается включение защиты от атак Spectre, поддержка распараллеленной компиляции в ORC JIT, стабилизация компиляции в WebAssembly, добавление в Clang опции для инициализации автоматически распределяемых переменных, улучшение предкомпиляции и поддержка флага /Zc:dllexportInlines в clang-cl, поддержка архитектуры RISC-V в компоновщике lld, расширение средств диагностики.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Улучшения (http://releases.llvm.org/8.</description>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Andrey_Karpov)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#34</link>
    <pubDate>Mon, 29 Apr 2019 18:42:15 GMT</pubDate>
    <description>А вот и мы. &amp;#65279;Находим баги в LLVM 8 с помощью анализатора PVS-Studio: https://habr.com/ru/company/pvs-studio/blog/450008/&lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (adolfus)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#33</link>
    <pubDate>Mon, 25 Mar 2019 08:41:20 GMT</pubDate>
    <description>На 64-разрядной архитектуре стек и куча используют одно и то же логическое адресное пространство, поэтому без разницы, где вы будете выделять память, в стеке или в куче -- если память исчерпывается, она исчерпывается как для стека, так и для кучи. А выделять локальную память в стеке быстрее и удобнее. &lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Ordu)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#32</link>
    <pubDate>Fri, 22 Mar 2019 21:16:41 GMT</pubDate>
    <description>Не поленился, собрал.&lt;br&gt;&lt;br&gt;$ du arch/x86/boot/bzImage /usr/src/linux-4.14.83-gentoo/arch/x86/boot/bzImage&lt;br&gt;7316arch/x86/boot/bzImage&lt;br&gt;7164/usr/src/linux-4.14.83-gentoo/arch/x86/boot/bzImage&lt;br&gt;&lt;br&gt;$ find . -name &apos;*.ko&apos; &amp;#124; xargs du -c &amp;#124; tail -n 1&lt;br&gt;4628итого&lt;br&gt;$ find /usr/src/linux-4.14.83-gentoo/ -name &apos;*.ko&apos; &amp;#124; xargs du -c &amp;#124; tail -n 1&lt;br&gt;4504итого&lt;br&gt;&lt;br&gt;Тот что локально собран clang&apos;ом, в /usr/src при помощи gcc. Вывод: clang делает жирнее, то эта дополнительная жирность 2-3&#037;. Не тянет на &quot;гораздо&quot; ведь, не?&lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Ordu)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#31</link>
    <pubDate>Fri, 22 Mar 2019 16:19:12 GMT</pubDate>
    <description>А зачем использовать alloca? Если уж совсем никак не уйти от динамического размера, а куча слишком медленная, то можно же сделать специализированный аллокатор под такого рода вещи.&lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Cradle)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#30</link>
    <pubDate>Fri, 22 Mar 2019 13:13:04 GMT</pubDate>
    <description>да все понятно что тут аргументов больше против чем за и большой риск нарваться, а за использование vla в сразу нескольких вложенных функциях на разных уровнях я бы тоже по рукам бил больно. С другой стороны, вот например MISRA вносит целую кучу запретов, понятных и не очень, а потом люди встречаются и думают: &quot;а если мы в нашей функции alloca используем, станет ругаться или не заметит?&quot; &lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Ordu)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#29</link>
    <pubDate>Fri, 22 Mar 2019 12:48:11 GMT</pubDate>
    <description>&amp;gt; А что, в любой программе существует только одна функция с однократным вызовом? &lt;br&gt;&lt;br&gt;Если у тебя для нескольких функций достаточно памяти на стеке, то ты ведь для них тоже для всех посчитал, сколько каждая из них выделит максимально? И в сумме получилось меньше стека?&lt;br&gt;&lt;br&gt;Или ты выяснил, что когда первая функция на стеке выделяет много, все остальные выделяют мало и в сумме всегда выходит меньше стека? Тебе реально приходилось сталкиваться с таким случаем на практике? Расскажи об этом, действительно ведь интересно.&lt;br&gt;&lt;br&gt;&amp;gt; Блин, а я потом удивляюсь - почему это браузеры жрут всю доступную &lt;br&gt;&amp;gt; память?&lt;br&gt;&lt;br&gt;Да, ещё и ядро тоже. Они тоже отказались от объектов динамических размеров на стеке. Глубина рекурсии у них по жизни должна была просчитываться статически, &lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Cradle)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#27</link>
    <pubDate>Fri, 22 Mar 2019 10:03:38 GMT</pubDate>
    <description>&amp;gt; с однократным вызовом&lt;br&gt;&lt;br&gt;не то что с однократным, но нужно следить на каких уровнях вложенности она вызывается и сколько стека для нее осталось  &lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Cradle)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#26</link>
    <pubDate>Fri, 22 Mar 2019 10:01:03 GMT</pubDate>
    <description>в embedded это еще возможно отследить (и очень желательно), в браузере точно уже нет.&lt;br&gt;</description>
</item>

<item>
    <title>Релиз набора компиляторов LLVM 8.0 (Cradle)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/116874.html#25</link>
    <pubDate>Fri, 22 Mar 2019 09:57:51 GMT</pubDate>
    <description>&amp;gt; Ну так выдели максимальный&lt;br&gt;&lt;br&gt;на самом деле чаще всего так и делаем, хотя не красиво как-то. &lt;br&gt;&lt;br&gt;Вообще дискуссия не прекращается на эту тему: https://stackoverflow.com/questions/12407754/what-technical-disadvantages-do-c99-style-vlas-have , http://c-faq.com/malloc/alloca.glb.html&lt;br&gt;</description>
</item>

</channel>
</rss>
