Die Firm-Bibliothek implementiert die Firm-Zwischendarstellung (IR). Eine alte Beschreibung der Firma finden Sie in [TLB:99].
libFirm enthält Algorithmen zur Konstruktion des SSA-Formulars direkt aus dem attributierten Syntaxbaum. Es wird eine Reihe von Analyse- und Optimierungsphasen bereitgestellt. Diese Version enthält ein vollständiges Backend für die IA32- und SPARC-Architektur sowie unfertige Backends für MIPS, ARM und AMD64.
Voraussetzungen für den Bau:
Geben Sie einfach „make“ in das Quellverzeichnis ein. Die Ergebnisse werden in einem Verzeichnis namens „build“ abgelegt. Sie können die vorhandenen Präprozessor-, Compiler- und Linker-Flags überschreiben, indem Sie eine „config.mak“-Datei erstellen.
libFirm verfügt über ein zusätzliches cmake-Build-System. CMake ist ein komplexeres Build-System als das make-basierte und die meisten libFirm-Entwickler verwenden es nicht. Es kann jedoch die Compiler- und Linker-Flags anpassen, um gemeinsam genutzte Bibliotheken für eine breitere Palette von Systemen zu erstellen, bietet ein Installationsziel und ist für Leute, die Pakete für die Verteilung vorbereiten, oft vertrauter.
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
Offizielle Website: http://libfirm.org/
Kontakt E-Mail: [email protected]
Mailingliste: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
Bugtracker: http://pp.ipd.kit.edu/~firm/bugs
Internet-Relay-Chat: #firm
auf irc.libera.chat