./devel/libfirm, Provides a graph-based SSA representation of programs

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2009Q1, Version: 1.15.0, Package name: libfirm-1.15.0, Maintainer: pkgsrc-users

libFIRM provides a graph-based intermediate representation (IR), which
operates exclusively in SSA-form, starting at IR construction until
assembler code emission. It offers many analyses and optimizations,
provides extensive debug support and includes a backend framework.

* analyses: dominance, loop tree, execution frequency, control
dependencies, call graph, rapid type, def-use, alias analysis,
class hierarchy analysis
* optimizations: dead code elimination (happens implicitly), constant
folding, local common subexpression elimination, arithmetic identities
(happens on the fly), unreachable code elimination, global common
subexpression elimination, code placement, strength reduction,
scalar replacement, if-conversion, load/store optimization, control
flow optimizations, reassociation, partial condition evaluation,
tail recursion elimination, inlining, procedure cloning
* enhanced debugging support: extensive checkers, breakpoints on node
creation, entity creation, graph dumping
* lowering of intrinsics, double word arithmetics, bitfields
* generic backend features:
* novel SSA based register allocator
* several SSA copy coalescing and spilling algorithms
* algorithms for instruction and basic block scheduling
* working ia32 backend, unfinished backends for MIPS, ARM, PPC32
* handwritten recursive descent C89/C99 frontend available (lang/cparser)


Required to build:
[devel/libtool-base] [devel/pkg-config]

Master sites: (Expand)

SHA1: 39fe688de42b6dae51b7413e52a2b4097c93187b
RMD160: b62b00daffcceb018a7c516fb53f9411fa433bd0
Filesize: 1491.938 KB

Version history: (Expand)