Search
726 results for “llvm”
-
🚀🌈 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. 🙄🔧
https://blog.llvm.org/posts/2025-08-29-gsoc-byte-type/ #GSoC2025 #LLVMIR #efficiency #summerofcode #technews #HackerNews #ngated -
Byte Type: Supporting Raw Data Copies in the LLVM IR
-
Профилирование и PGO в LLVM
Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.
-
Профилирование и PGO в LLVM
Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.
-
Профилирование и PGO в LLVM
Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.
-
Профилирование и PGO в LLVM
Нередко при оптимизации приложений, написанных на языках со статической компиляцией (C, C++, Rust), наступает момент, когда стандартные методы оптимизации, такие как улучшение алгоритмов, подбор структур данных, флаги компиляции вроде -O3, перестают давать дополнительный прирост производительности. В этот момент многие вспоминают про фундаментальное ограничение статических компиляторов. В отличие от JIT, они не знают, какой код будет горячим, а какой холодным. JIT-компиляторы (JVM, V8, .NET) получают эту информацию в runtime и адаптируют оптимизации под реальную нагрузку. Статические компиляторы генерируют машинный код заранее и лишены информации о поведении программы в runtime. Для решения этой проблемы используется подход Profile Guided Optimization (PGO). Он позволяет собрать данные о выполнении программы и передать их компилятору для принятия более оптимальных решений при генерации кода. По сути, PGO - это способ дать статическому компилятору некоторые преимущества JIT, сохраняя при этом все преимущества ahead-of-time компиляции: отсутствие пауз на перекомпиляцию и полный контроль над билдом.
-
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 #General #Propose #Kernel #FreeBSD #Clang #GNOME #Rolling #Distro
-
-
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 -
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.
-
#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.
https://www.phoronix.com/news/ZLUDA-5-Released -
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: https://www.khronos.org/rfp/khronos-opencl-llvm-spir-v-backend
#LLVM #SPIRV #SPIR -
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: https://www.khronos.org/rfp/khronos-opencl-llvm-spir-v-backend
#LLVM #SPIRV #SPIR -
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: https://www.khronos.org/rfp/khronos-opencl-llvm-spir-v-backend
#LLVM #SPIRV #SPIR -
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: https://www.khronos.org/rfp/khronos-opencl-llvm-spir-v-backend
#LLVM #SPIRV #SPIR -
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: https://www.khronos.org/rfp/khronos-opencl-llvm-spir-v-backend
#LLVM #SPIRV #SPIR -
#Intel, #Arm & #Khronos Feel Ready to Land #SPIR-V Backend Within #LLVM
Based on
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Ready-For-SPIR-V-BackendOriginal Source via mailing list
https://lists.llvm.org/pipermail/llvm-dev/2021-December/154270.html -
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 …
https://sourcery.zone/articles/2026/02/chasing-a-zig-avr-segfault-down-to-llvm/
-
[Перевод] Визуализатор сборок в режиме реального времени
Под катом – анимация, демонстрирующая сборку приложения для macOS в режиме реального времени: Я расскажу, как она получилась, но для начала обрисую контекст этого проекта. Компиляция конкретного софта может быть очень длительной просто потому, что в этой программе очень много кода — как, например, в проекте LLVM. Но бывает и так, что сборка идёт медленно по глупым и вполне устранимым причинам. Подозреваю, что большинство сборок просто тормозят из-за ерунды, но проверить это мне пока не удавалось. Поэтому я разработал кроссплатформенный инструмент для визуализации сборок (пока он существует в приватной бета-версии, ссылка в конце статьи). Он работает с любой системой сборки и с любым языком программирования (а не только C/C++/Rust).
https://habr.com/ru/articles/937972/
#clang #компиляторы #сборка #программирование #скрипты #непрерывная_интеграция
-
Yocto Project 6.0 “Wrynose” released with Linux 6.18 LTS
-
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: https://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
-
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: https://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
-
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: https://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
-
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: https://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
-
Flame: Системный язык программирования на C и LLVM с мета-исключениями и Memory Safety без Borrow Checker
Пока индустрия движется в сторону усложнения компиляторов, я задался вопросом: можно ли создать инструмент, который дает безопасность Rust, гибкость C и при этом не весит сотни мегабайт? Так появился Flame — системный язык с компилятором в 226 КБ , который реализует управление памятью через статический анализ AST и предлагает альтернативный взгляд на обработку ошибок через патчинг дерева токенов.
https://habr.com/ru/articles/1007758/
#flame #c #c++ #c# #системное_программирование #компиляторы #компилятор #коддинг #llvm #llvm_ir
-
От 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. Подробные шаги по сборке, установке и примерам. Интересно? Велком внутрь.
https://habr.com/ru/articles/982928/
#кросскомпиляция #ретрокомпьютинг #PDP11 #Unix_V7 #Apple_Silicon #DOS #ACK #MSVC #Open_Watcom #macos
-
Using the TPDE Codegen Back End in LLVM Orc
https://weliveindetail.github.io/blog/post/2025/09/30/tpde-in-llvm-orc.html
#HackerNews #TPDE #Codegen #LLVM #ORC #Compiler #Technology #Programming