#llvm_ir

2026-01-28

Я написал компилятор на C++ при помощи LLVM (2)

GitHub Из прошлой статьи мы знаем, что я разрабатываю свой компилятор - Onyx . С того момента язык активно развивался, теперь он поддерживает:

habr.com/ru/articles/989684/

#llvm #llvm_ir #llvm_компилятор_llvm_ir #c++ #язык_программирования #языки #как_написать_свой_язык #компиляторы #компилятор #как_написать_язык

2025-04-30

[Перевод] Golang на PlayStation 2

Мне всегда хотелось творить какую-нибудь дичь с консолями. Не знаю почему, но меня всегда привлекала идея реализовывать на устройствах неожиданные возможности. Это относится и к PlayStation 2 , выпущенной Sony в 2000 году. Sony, пожалуйста, не подавайте в суд на меня за этот пост. Перейдём сразу к делу: я хочу научиться запускать код на консолях (подробнее о том, зачем это нужно, я расскажу в другом посте). Обычно это делается на языках низкого уровня, но сегодня мы можем проще и удобнее работать с языками наподобие Go . Поэтому я подумал: почему бы и нет? Поискав онлайн, я не нашёл простого решения, поэтому взялся за эту задачу самостоятельно.

habr.com/ru/articles/895322/

#playstation_2 #golang #clang #llvm #llvm_ir #mips

2024-05-20

[Перевод] Compiler Explorer — уникальный проект для исследования компилируемого кода

Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer , который я в дальнейшем будут называть CE. CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран: Предупреждение: вы забираетесь в «кроличью нору», на которую можете потратить несколько часов своего времени. В основе CE лежит очень простая идея. Достаточно ввести исходный код в левую панель, и сайт мгновенно покажет вам на правой панели скомпилированный результат (обычно на языке ассемблера). CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502. То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода. Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.

habr.com/ru/companies/ruvds/ar

#ruvds_переводы #компиляторы #язык_ассемблера #интерпретаторы #llvm #llvm_ir #анализ_кода

2024-03-29

Динамический JIT компилятор C++

Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата , и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один очень полезный Хаброхак, который заключается в использования Хабра как записной книжки, но не как в том анекдоте я думал, что это блокнот для заметок, а всем видно оказывается что я здесь написал , а в самом хорошем смысле — для хранения результатов различных экспериментов, подведения итогов поиска в решения проблем и публикации итоговых выводов. Так, на днях искал материалы про JIT компиляцию C++ в рантайме с помощью clang/llvm и поиск мне выдал мою же собственную статью трехгодичной давности: Динамическая JIT компиляция С/С++ в LLVM с помощью Clang / Хабр . В результате появилась уже эта новая статья про JIT компиляцию C/С++.

habr.com/ru/articles/803787/

#llvm #llvm_ir #c++ #jit #jitкомпилятор #программирование

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst