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

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


Branch: CURRENT, Version: 1.21.0, Package name: libfirm-1.21.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: 92a46fcc284e6eef5c02c253362b864fb601830a
RMD160: 953b3c1e6d182c04df1e1cead88e59b40c6e8d21
Filesize: 1422.946 KB

Version history: (Expand)


CVS history: (Expand)


   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2014-11-06 21:46:01 by Aleksej Saushev | Files touched by this commit (4) | Package updated
Log message:
Update to libFirm 1.21.0
This lets the package build on NetBSD/i386.

libFirm 1.21.0 (2012-11-16)
---------------------------
* Improvements of x86 backend (esp. x87 floatingpoint code)
* Improvements to sparc backend (better use of delay slots)
* Improved local optimisation rules (esp. conversions)
* Make compiler more deterministic
* Bugfixes

libFirm 1.20.0 (2011-12-07)
---------------------------

* Further improvemens to sparc backend (SPEC2000 works with softfloat)
* Tuning of x86 backend
* Software floatingpoint lowerer
* Fixed firm profiling
* New pass management allowing to specify pre-/postconditions for passes
* Remove dependency on liblpp, add support for gurobi ILP solver
* Experimental dwarf debugging support
* Code cleanups, refactoring
* Restructured API documentation
* Bugfixes (we did alot of csmith testing)

libFirm 1.19.1 (2011-05-17)
---------------------------

* Fix some set_XXX functions not being exported in the shared library

libFirm 1.19.0 (2011-03-15)
---------------------------

* Includes "SSA-Based Register Allocation with PBQP"
* Improved Sparc backend
* New (optimistic) fixpoint based value-range propagation/bit analysis
* Code cleanup and refactoring
* Bugfixes

libFirm 1.18.1 (2010-05-05)
---------------------------

* Fix bug where stackframe was not always setup for -fno-omit-frame-pointer
* bugfixes in Asm handling

libFirm 1.18.0 (2010-04-15)
---------------------------

* Includes "Preference Guided Register Assignment" algorithm
* Experimental Value Range Propagation
* Loop Inversion and experimental Loop Unrolling code
* Simplified construction interface. Most node constructors don't need \ 
graph/block arguments anymore.
* Reworked type interface. Type names are optional now. Support for additional \ 
linkage types that among others support C++ 'linkonce' semantics now.
* Small changes in constructors and node getters/setters (mostly adding 'const' \ 
to some getters)
* code cleanup, smaller improvements in API specification
* bugfixes
   2012-10-31 12:19:55 by Aleksej Saushev | Files touched by this commit (1460)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2009-08-18 20:57:23 by Hasso Tepper | Files touched by this commit (3) | Package updated
Log message:
Update to 1.17.0.

Changes in 1.17.0:

* bugfixes
* advanced load/store optimisation which hoists loads out of loops
* Internal restruturing: Alot of node structures are automatically generated
  from a specification file now.
* Add support for multiple calling conventions
* New experimental support for reading and writing programgraphs to disk
* Support and optimisations for trampolines
* fix PIC support

Changes in 1.16.0:

* bugfixes
   2009-06-14 19:49:18 by Joerg Sonnenberger | Files touched by this commit (454)
Log message:
Remove @dirrm entries from PLISTs
   2009-03-20 20:25:55 by Joerg Sonnenberger | Files touched by this commit (1252)
Log message:
Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
   2008-12-17 17:52:35 by Joerg Sonnenberger | Files touched by this commit (8) | Package updated
Log message:
Update to libfirm-1.15.0:
* Implementation of Clicks Combined Analysis/Optimisations
* New switch lowering code
* support for global asm statements
* improved asm support
* PIC support for Mac OS X
* New register pressure minimizing scheduler
* Improvements to spill algorithm
* fix endless loop problems
* further improve inlining heuristics
* improve peephole optimisations for x86
* bugfixes
   2008-11-28 02:14:45 by Blair Sadewitz | Files touched by this commit (9) | Imported package
Log message:
Import libfirm-1.13.0, used by lang/cparser.

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)