The Firm library implements the Firm intermediate representation (IR). libFirm
contains algorithms for construction of the SSA form directly from the
attributed syntax tree. A set of analyses and optimisation phases is provided.
This version includes a complete backend for the IA32 architecture, as well as
some unfinished backends for SPARC, ARM
* support for object oriented type hierarchies
* analyses: dominance, loop tree, execution frequency, control dependencies,
call graph, rapid type, def-use, alias analysis, class hierarchy analysis
* Optimisations: constant folding, local common subexpression elimination,
global common subexpression elimination, code placement, operator strength
reduction, scalar replacement, load/store, control flow optimisations,
if-conversion, partial condition evaluation, reassociation, tail recursion
elimination, inlining, procedure cloning, dead code elimination, ...
* enhanced debugging support: extensive checkers, breakpoints on node creation,
entity creation, graph dumping
* lowering of intrinsics, double word arithmetics, bitfields
* backend with SSA based register allocation including several algorithms for
spilling and copy coalescing. Instruction and block scheduling, support for
ABI handling.
* working ia32 backend with support for x87 and SSE2 floating point
* handwritten recursive descent C90/C99 frontend available (lang/cparser)
===> The following configuration options are available for libfirm-1.21.0_2:
DEBUG=off: Build with debugging support
===> Use 'make config' to modify these settings
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Use USES=pathfix where applicable.
PR: 213195
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D8093
- Update to 1.15.0
- Switch to MASTER_SITE_SOURCEFORGE
- Minor cleanup to pkg-descr
PR: ports/129342
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (maintainer)
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
(Only the first 15 lines of the commit message are shown above )