La biblioteca Firm implementa la representación intermedia Firm (ir). Puede encontrar una descripción antigua de la empresa en [TLB:99].
libFirm contiene algoritmos para la construcción del formulario SSA directamente desde el árbol de sintaxis atribuido. Se proporciona un conjunto de análisis y fases de optimización. Esta versión incluye un backend completo para la arquitectura IA32 y SPARC, así como backends sin terminar para MIPS, ARM y AMD64.
Requisitos previos para la construcción:
Simplemente escriba 'make' en el directorio fuente. Los resultados se colocan en un directorio llamado "build". Puede anular los indicadores existentes del preprocesador, compilador y vinculador creando un archivo 'config.mak'.
libFirm tiene un sistema de compilación cmake adicional. CMake es un sistema de compilación más complejo que el basado en make y la mayoría de los desarrolladores de libFirm no lo utilizan. Sin embargo, puede adaptar los indicadores del compilador y del vinculador para crear bibliotecas compartidas para una gama más amplia de sistemas, proporciona un objetivo de instalación y, a menudo, resulta más familiar para las personas que preparan paquetes para su distribución.
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
Sitio web oficial: http://libfirm.org/
Correo electrónico de contacto: [email protected]
Lista de correo: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
Rastreador de errores: http://pp.ipd.kit.edu/~firm/bugs
Chat de retransmisión por Internet: #firm
en irc.libera.chat