The Firm library implements the Firm intermediate representation (ir). You can find an old description of Firm in [TLB:99].
libFirm contains algorithms for construction of the SSA form directly from the attributed syntax tree. A set of analyses and optimization phases is provided. This version includes a complete backend for the IA32 and SPARC architecture, as well as unfinished backends for MIPS, ARM, and AMD64.
Prerequisites for the build:
- Python (2.7.x or >=3.3 are supported)
- Perl
- an ANSI C99 compiler (gcc, clang, icc are known to work)
Just type 'make' in the source directory. The results are put into a directory called "build". You can override the existing preprocessor, compiler and linker flags by creating a 'config.mak' file.
libFirm has an additional cmake build system. CMake is a more complex build system than the make based one and most libFirm developers do not use it. However it can adapt the compiler and linker flags to build shared libraries for a wider range of systems, provides an installation target and is often more familiar for people preparing packages for distribution.
Official website: http://libfirm.org/
Contact E-Mail: firm@ipd.info.uni-karlsruhe.de
Mailing list: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
Bugtracker: http://pp.ipd.kit.edu/~firm/bugs
Internet relay chat: irc://chat.freenode.net/#firm