mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-06 06:30:19 +00:00
a1a58a3bc1
- Switch to MASTER_SITE_SOURCEFORGE - Minor cleanup to pkg-descr PR: ports/129342 Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (maintainer)
25 lines
1.4 KiB
Plaintext
25 lines
1.4 KiB
Plaintext
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
|
|
debugging 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 ARM, MIPS, PPC32
|
|
* handwritten recursive descent C90/C99 frontend available (lang/cparser)
|
|
|
|
WWW: http://libfirm.org/
|