home.social

Search

726 results for “llvm”

  1. “Having explicit control over GPU SIMT engines implicit mask/predication register is something I actively wish I had on a monthly basis at the IR/PTX level”

    #GPU #PTX #LLVMIR #LLVM

  2. 🚀🌈 GSoC 2025: Where we celebrate a summer's worth of labor for adding a byte to LLVM IR! 🎉🎓 Because, clearly, the world was just on the edge of chaos without that extra byte type to make #memcpy marginally more efficient. 🙄🔧
    blog.llvm.org/posts/2025-08-29 #GSoC2025 #LLVMIR #efficiency #summerofcode #technews #HackerNews #ngated

  3. Профилирование и PGO в LLVM

    Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.

    habr.com/ru/articles/1006620/

    #llvm #pgo #clang #компиляторы

  4. Профилирование и PGO в LLVM

    Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.

    habr.com/ru/articles/1006620/

    #llvm #pgo #clang #компиляторы

  5. Профилирование и PGO в LLVM

    Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.

    habr.com/ru/articles/1006620/

    #llvm #pgo #clang #компиляторы

  6. Профилирование и PGO в LLVM

    Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.

    habr.com/ru/articles/1006620/

    #llvm #pgo #clang #компиляторы

  7. Chimera Linux is a distinct Linux distribution that diverges from traditional GNU/Linux systems by using a blend of FreeBSD userland tools, the musl C library with Scudo allocator, and the LLVM/Clang toolchain.

    This is my Chimera Linux setup using GNOME on Raspberry Pi 400.

    A promising rolling Linux Distro in the following years. Dinit, FreeBSD Userland, Clang/LLVM toolchain and more.

    chimera-linux.org

    #Chimera #Linux #General #Propose #Kernel #FreeBSD #Clang #GNOME #Rolling #Distro

  8. gcc13 finished building and now it’s llvm19 #ffs #freebsd porter pain when will this end

  9. Làm xong hackathon IBM sau 48h thức trắng, mình vừa tạo ra LazyA – ngôn ngữ lập trình biên dịch (Flex/Bison + LLVM 18) tích hợp AI ngay trong cú pháp. Dùng Ollama local để so sánh ngữ nghĩa (~=), tự sinh code từ docstring có @verify, và không gửi data lên đám mây. 70% code tự viết, 60% bug do AI gây ra. Dự án còn thô nhưng mở để góp ý! #LazyA #AIProgramming #Compiler #Ollama #LLM #LậpTrìnhAI #BiênDịch #Hackathon
    #CaffeineHaze #LocalFirst #CSStudent #LLVM #FlexBison

    reddit.com/r/Lo

  10. Is there any serious effort to increase performance of the #BEAM? Is the LLVM JIT effort still alive? I would like to use #Gleam, but performance seems to be an issue for all but the typical BEAM use cases.

    #erlang #elixir

  11. Apple fixed a bug that let cops extract deleted chat messages from iPhones, but the real issue is Objective-C. iOS still relies on this outdated language with no Rust support. To innovate, Apple should open-source Cocoa Touch and engage with WebAssembly and LLVM projects.

    #ios #obj-c #rustlang #wasm

    techcrunch.com/2026/04/22/appl

  12. #ZLUDA 5 Released With An Offline #Compiler For #CUDA On Non-NVIDIA #GPUs
    #ZLUDA5 introduces "zoc" as an offline compiler for ZLUDA. #Zoc will take a NVIDIA PTX file as input and output the #LLVM intermediate representation (IR) and the #RDNA Assembly for the GPU in use generated in turn by the #ROCm compiler.
    phoronix.com/news/ZLUDA-5-Rele

  13. Khronos' OpenCL Working Group has issued a Request for Proposal (#RFP) for OpenCL LLVM SPIR-V Backend. The goal of this project is to address and integrate specific functionalities that are currently available in the translator project but missing from the backend. All bids are due December 6, 2024.

    Learn more: khronos.org/rfp/khronos-opencl
    #LLVM #SPIRV #SPIR

  14. Khronos' OpenCL Working Group has issued a Request for Proposal () for OpenCL LLVM SPIR-V Backend. The goal of this project is to address and integrate specific functionalities that are currently available in the translator project but missing from the backend. All bids are due December 6, 2024.

    Learn more: khronos.org/rfp/khronos-opencl

  15. Khronos' OpenCL Working Group has issued a Request for Proposal (#RFP) for OpenCL LLVM SPIR-V Backend. The goal of this project is to address and integrate specific functionalities that are currently available in the translator project but missing from the backend. All bids are due December 6, 2024.

    Learn more: khronos.org/rfp/khronos-opencl
    #LLVM #SPIRV #SPIR

  16. Khronos' OpenCL Working Group has issued a Request for Proposal (#RFP) for OpenCL LLVM SPIR-V Backend. The goal of this project is to address and integrate specific functionalities that are currently available in the translator project but missing from the backend. All bids are due December 6, 2024.

    Learn more: khronos.org/rfp/khronos-opencl
    #LLVM #SPIRV #SPIR

  17. Khronos' OpenCL Working Group has issued a Request for Proposal (#RFP) for OpenCL LLVM SPIR-V Backend. The goal of this project is to address and integrate specific functionalities that are currently available in the translator project but missing from the backend. All bids are due December 6, 2024.

    Learn more: khronos.org/rfp/khronos-opencl
    #LLVM #SPIRV #SPIR

  18. Chasing a Zig AVR Segfault Down to LLVM

    This was the most fun I've had programming in a long time. The actual pain of failure, the mind bugging curiosity, forming hypothesis over and over, and finally the excitement of …

    sourcery.zone/articles/2026/02

    #arduino #atmega2560 #avr #platformio #zig

  19. [Перевод] Визуализатор сборок в режиме реального времени

    Под катом – анимация, демонстрирующая сборку приложения для macOS в режиме реального времени: Я расскажу, как она получилась, но для начала обрисую контекст этого проекта. Компиляция конкретного софта может быть очень длительной просто потому, что в этой программе очень много кода — как, например, в проекте LLVM. Но бывает и так, что сборка идёт медленно по глупым и вполне устранимым причинам. Подозреваю, что большинство сборок просто тормозят из-за ерунды, но проверить это мне пока не удавалось. Поэтому я разработал кроссплатформенный инструмент для визуализации сборок (пока он существует в приватной бета-версии, ссылка в конце статьи). Он работает с любой системой сборки и с любым языком программирования (а не только C/C++/Rust).

    habr.com/ru/articles/937972/

    #clang #компиляторы #сборка #программирование #скрипты #непрерывная_интеграция

  20. Thanks to @JensGustedt TIL that C++26 also introduces native support for #C23 checked #integer #arithmetic functions, as defined in the <stdckdint.h> compatibility header. These are peripherally related to the (bleeding edge) #saturation arithmetic functions defined in the C+26 version of the <numeric> header: en.cppreference.com/cpp/numeric (You might not find these in your system headers unless you have a seriously up to date #LLVM or #GCC ) @wdtz #languagelawyering

  21. Thanks to @JensGustedt TIL that C++26 also introduces native support for #C23 checked #integer #arithmetic functions, as defined in the <stdckdint.h> compatibility header. These are peripherally related to the (bleeding edge) #saturation arithmetic functions defined in the C+26 version of the <numeric> header: en.cppreference.com/cpp/numeric (You might not find these in your system headers unless you have a seriously up to date #LLVM or #GCC ) @wdtz #languagelawyering

  22. Thanks to @JensGustedt TIL that C++26 also introduces native support for #C23 checked #integer #arithmetic functions, as defined in the <stdckdint.h> compatibility header. These are peripherally related to the (bleeding edge) #saturation arithmetic functions defined in the C+26 version of the <numeric> header: en.cppreference.com/cpp/numeric (You might not find these in your system headers unless you have a seriously up to date #LLVM or #GCC ) @wdtz #languagelawyering

  23. Thanks to @JensGustedt TIL that C++26 also introduces native support for #C23 checked #integer #arithmetic functions, as defined in the <stdckdint.h> compatibility header. These are peripherally related to the (bleeding edge) #saturation arithmetic functions defined in the C+26 version of the <numeric> header: en.cppreference.com/cpp/numeric (You might not find these in your system headers unless you have a seriously up to date #LLVM or #GCC ) @wdtz #languagelawyering

  24. Flame: Системный язык программирования на C и LLVM с мета-исключениями и Memory Safety без Borrow Checker

    Пока индустрия движется в сторону усложнения компиляторов, я задался вопросом: можно ли создать инструмент, который дает безопасность Rust, гибкость C и при этом не весит сотни мегабайт? Так появился Flame — системный язык с компилятором в 226 КБ , который реализует управление памятью через статический анализ AST и предлагает альтернативный взгляд на обработку ошибок через патчинг дерева токенов.

    habr.com/ru/articles/1007758/

    #flame #c #c++ #c# #системное_программирование #компиляторы #компилятор #коддинг #llvm #llvm_ir

  25. От PDP-11 до Windows: как кросс-компилировать ретро-код на macOS без машины времени

    Гайд по кросс-компиляции для ретро-платформ на macOS с Apple Silicon. Описаны настройка и использование: Open Watcom v2 — для DOS (16/32-бит), OS/2, Windows 3.x/9x/NT, с примерами сборки .com, .exe и функцией для переключения таргетов в shell. Amsterdam Compiler Kit (ACK) — компиляция ANSI C под PDP-11, с запуском крестиков-ноликов на Unix Version 7 в эмуляторе open-simh (включая создание лент, mkfs, restor, mknod). msvc-wine — полноценный MSVC-тулчейн для Windows (x86/x64/arm64) через LLVM Clang и LLD, без MinGW-зависимостей. Дополнительно: тестирование через Wine, DOSBox-X, OrbStack; фиксы для Apple Silicon. Подробные шаги по сборке, установке и примерам. Интересно? Велком внутрь.

    habr.com/ru/articles/982928/

    #кросскомпиляция #ретрокомпьютинг #PDP11 #Unix_V7 #Apple_Silicon #DOS #ACK #MSVC #Open_Watcom #macos