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

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


Branch: pkgsrc-2012Q3, Version: 1.17.0, Package name: libfirm-1.17.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)


Master sites:

SHA1: c86046a1d83d1a5561c51849b3fe499f1ab9addd
RMD160: a9413e2fd646ad5afd34c88465993661dcb7dd6f
Filesize: 1528.881 KB

Version history: (Expand)