logo search
АСНИ

Особенности

В основе LLVM лежит промежуточное представление кода (Intermediate Representation, IR), над которым можно производить трансформации во время компиляции, компоновки и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM 3.1 поддерживает статическую генерацию кода для x86x86-64ARMPowerPCSPARCMIPSQualcomm Hexagon. JIT (генерация машинного кода во время исполнения) поддержан для архитектур x86, x86_64, PowerPC, MIPS и частично ARM (только целочисленные, без NEON и Thumb) [1]

LLVM написана на C++ и портирована на большинство nix-систем и Windows. Система имеет модульную структуру, отдельные ее модули могут быть встроены в различные программные комплексы, она может расширяться дополнительными алгоритмами трансформации и кодогенераторами для новых аппаратных платформ.

В LLVM включена обертка API для OCaml.