clang
-
Хабрахабр
[Перевод] Как я вошёл в клуб бага 323
Это история о баге, который бы заставил вас рвать на себе волосы. Из-за такого бага вы можете подумать: «Но это невозможно, должно быть, компилятор сломался, других вариантов нет!» А баг компилятора — это серьёзно: за двенадцать лет программирования на C++ я обнаружил (и написал отчёт) всего... об одном. И могу сказать, что перед отправкой отчёта о баге GCC я максимально…
Читать далее » -
Хабрахабр
[Перевод] Futhark в браузере
В IT так: если что-то существует, то рано или поздно это будет существовать и в браузере. Сегодня так устроен мир. Благодаря работе Филипа Лассена, теперь вы можете гонять Futhark у себя в браузере. В данном посте рассказано, как этого удалось добиться, и почему этот функционал пока не так полезен, как мог бы (спойлер: пока не поддерживается работа с GPU), и…
Читать далее » -
Хабрахабр
[Перевод] В {n} раз быстрее Си
Иногда человек может обнаружить такие возможности оптимизации, которые не видит компилятор. В этой статье мы начнём с цикла, сгенерированного из кода Си с помощью clang, и скорректируем его разными способами, попутно измеряя прирост в скорости. Эта статья публиковалась на главной странице HackerNews, и к её обсуждению вы можете присоединиться здесь. Дисклеймер: я не эксперт по оптимизациям. По факту мой опыт…
Читать далее » -
Хабрахабр
Из серии: заглянем под капот clang-e2k/llvm-e2k из штатного дистрибутива для Эльбруса
Тема непосредственно самого процессора Эльбрус уже достаточно хорошо раскрыта в различных статьях, в том числе, в статьях, опубликованных на habr.ru. Кроме самого процессора Эльбрус время от времени на просторах рунета можно встретить обсуждения, посвященные вопросу портирования компилятора clang/llvm на Эльбрус. Пожалуй, данная тема еще не получала подробного освещения. Данная заметка призвана заполнить этот «пробел». Если вкратце, то llvm из e2k-дистрибутива…
Читать далее » -
Хабрахабр
[Перевод] C++ по итогам 2022-го
Должен признать, что в некоторые из предыдущих лет C++ мог ощущаться немного «скучным» и «стабильным». Новые фичи, новый стандарт каждые три года, встречи, конференции... обычная жизнь (не считая некоторых дополнительных событий с в мире, экономике и эпидемиологической ситуации). Прошедший год отличается, потому что выглядит как «переломный» в истории C++... и кто знает, куда это заведёт нас. Примечание переводчика. На оригинал…
Читать далее » -
Хабрахабр
История одного перехода с gcc на clang
На прошлой неделе, после нескольких месяцев разработки, вышла очередная версия языка программирования NewLang. Одной из технических особенностей данного релиза является переход на использования компилятора clang вместо gcc. Данная статья описывает причины смены компилятора, некоторые особенности этого процесса, проблемы, которые приходилось решать и итоговые выводы. Автор надеется, что эта информация может оказаться полезной и позволит сэкономить кучу времени, если заранее знать…
Читать далее » -
Хабрахабр
Удивительное приключение в стране оптимизирующих компиляторов
Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что с этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не…
Читать далее » -
Хабрахабр
[Перевод] Осваиваем кросс-компиляцию с помощью Clang и LLVM
Каждый, кто когда-либо пробовал собрать программу на C/C++ через кросс-компиляцию знает, насколько болезненным может быть этот процесс. Главными причинами столь печального положения вещей являются недружелюбность систем сборки при конфигурации кросс-компиляции, а также запутанность процесса настройки набора утилит (тулчейна). Одним из основных виновников этих проблем, по моему опыту, является тулчейн GNU — древний мамонт, на котором много десятилетий строится весь мир…
Читать далее » -
Хабрахабр
[recovery mode] Сборка ядра Linux 5.12.10 c LLVM 12 + Clang и LTO оптимизацией
Технический прогресс не стоит на месте, появляются новые компьютерные архитектуры, компиляторы становятся умнее и генерируют более быстрый машинный код. Современные задачи требуют все более креативного и эффективного решения. В данной статье пойдет речь, на мой взгляд, про один из самых прогрессивных тулчейнов LLVM и компиляторы на его основе Clang и Clang++, для языков программирования С и C++ соответственно. Хоть GCC…
Читать далее » -
Хабрахабр
Опыт команды PVS-Studio: повышение производительности C++ анализатора на Windows при переходе на Clang
С самого своего начала C++ анализатор PVS-Studio для Windows (тогда еще Viva64 версии 1. 00 в 2006 году) собирался компилятором MSVC. С выходом новых релизов C++ ядро анализатора научилось работать на Linux и macOS, и структура проекта была переведена на использование CMake. Но под Windows сборка по-прежнему происходила с помощью компилятора MSVC. 29 апреля 2019 года разработчики Visual Studio объявили…
Читать далее »