2. Тезисы
LLVM виртуальная машина, с открытым исходным кодом
Классическая архитектура компиляторов
Реализация трехфазной архитектуры в LLVM
Bitcode формат
LLVM IR промежуточное представление кода на примере Swift
Вопросы
3. Что такое LLVM
LLVM низкоуровневая виртуальная машина (виртуальный процессор)
Проект с открытым исходным кодом
Набор инструментов и библиотек, для создания компиляторов
Крис Латтнер
Создатель LLVM
Директор по инструментам разработки в Apple
4 года работал над созданием Swift
Сейчас разрабатывает Xcode
6. Реализация трефхазной архитектуры в LLVM
ARM бэкэнд
Swift
ARM
Swift фронтэнд
C C фронтэнд
Haskell
GHC фронтэнд
LLVM IR
LLVM IR
x86 бэкэнд
x86
Общий
оптимизатор
LLVM IR
LLVM IR
7. Bitcode формат
Начиная с iOS 9 приложения
загружаются в Apple Store в
Bitcode формате
Bitcode это сериализованный
LLVM IR
Это дает возможность в
будущем сменить архитектуру
процессора на устройствах
Apple