Библиотека Firm реализует промежуточное представление Firm (ir). Старое описание фирмы вы можете найти в [TLB:99].
libFirm содержит алгоритмы построения формы SSA непосредственно из атрибутивного синтаксического дерева. Предоставляется набор этапов анализа и оптимизации. Эта версия включает в себя полную серверную часть для архитектуры IA32 и SPARC, а также незавершенную серверную часть для MIPS, ARM и AMD64.
Предварительные условия для сборки:
Просто введите «make» в исходном каталоге. Результаты помещаются в каталог под названием «build». Вы можете переопределить существующие флаги препроцессора, компилятора и компоновщика, создав файл config.mak.
libFirm имеет дополнительную систему сборки cmake. CMake — более сложная система сборки, чем система, основанная на make, и большинство разработчиков libFirm ее не используют. Однако он может адаптировать флаги компилятора и компоновщика для создания общих библиотек для более широкого круга систем, обеспечивает цель установки и часто более знаком людям, готовящим пакеты для распространения.
include/libfirm/ # public API
ir/ # nearly all the code
ir/adt/ # containers and other generic data types
ir/ana/ # analysis (for optimizations)
ir/be/ # backends (x86, sparc, amd64, etc)
ir/common/ # utility stuff
ir/ident/ # identifier data structure
ir/ir/ # core data types of intermediate representation
ir/kaps/ # PBQP solver
ir/libcore/ # utility stuff
ir/lower/ # lowering phases from high-level to low-level mechanisms
ir/lpp/ # interface for external ILP solvers
ir/obstack/ # arena memory allocator
ir/opt/ # optimization phases
ir/stat/ # statistics
ir/tr/ # type representation
ir/tv/ # target values (architecture-independent arithmetic)
scripts/ # generator scripts, firm node specification
unittests/ # unittests
build/ # build system generates stuff here
Официальный сайт: http://libfirm.org/
Контактный адрес электронной почты:[email protected]
Список рассылки: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
Система отслеживания ошибок: http://pp.ipd.kit.edu/~firm/bugs.
Интернет-чат: #firm
на irc.libera.chat