aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2008-11-24 06:56:50 +0800
committermiwi <miwi@FreeBSD.org>2008-11-24 06:56:50 +0800
commit28c74c379b717402b72eab269ca4baf60cfc1f31 (patch)
treef9bb3bd2601d0691c8f89a42a6efefd405149a24
parent65f5db5dbdd668ec4058983d09c22784bbc04d6e (diff)
downloadfreebsd-ports-gnome-28c74c379b717402b72eab269ca4baf60cfc1f31.tar.gz
freebsd-ports-gnome-28c74c379b717402b72eab269ca4baf60cfc1f31.tar.zst
freebsd-ports-gnome-28c74c379b717402b72eab269ca4baf60cfc1f31.zip
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) WWW: http://libfirm.org/ PR: ports/129070 Submitted by: Christoph Mallon <christoph.mallon at gmx.de>
-rw-r--r--devel/Makefile1
-rw-r--r--devel/libfirm/Makefile30
-rw-r--r--devel/libfirm/distinfo3
-rw-r--r--devel/libfirm/pkg-descr24
-rw-r--r--devel/libfirm/pkg-plist97
5 files changed, 155 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 63a6c02f4b5c..31c536f283bd 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -623,6 +623,7 @@
SUBDIR += libevocosm
SUBDIR += libexecinfo
SUBDIR += libffi
+ SUBDIR += libfirm
SUBDIR += libfs++
SUBDIR += libftdi
SUBDIR += libg++
diff --git a/devel/libfirm/Makefile b/devel/libfirm/Makefile
new file mode 100644
index 000000000000..4c8b58730b9a
--- /dev/null
+++ b/devel/libfirm/Makefile
@@ -0,0 +1,30 @@
+# New ports collection makefile for: libFIRM
+# Date created: 22 Nov 2008
+# Whom: Christoph Mallon <christoph.mallon@gmx.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= libfirm
+PORTVERSION= 1.14.0
+CATEGORIES= devel lang
+MASTER_SITES= http://www.info.uni-karlsruhe.de/software/libfirm/
+
+MAINTAINER= christoph.mallon@gmx.de
+COMMENT= A graph-based SSA intermediate representation library for compilers
+
+GNU_CONFIGURE= yes
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_GNOME= gnomehack pkgconfig
+USE_LDCONFIG= yes
+
+OPTIONS= DEBUG "Build a debug version of libFIRM" OFF
+
+.include <bsd.port.pre.mk>
+
+.ifdef WITH_DEBUG
+CONFIGURE_ARGS+= --enable-debug
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/libfirm/distinfo b/devel/libfirm/distinfo
new file mode 100644
index 000000000000..1a59f4600f8b
--- /dev/null
+++ b/devel/libfirm/distinfo
@@ -0,0 +1,3 @@
+MD5 (libfirm-1.14.0.tar.bz2) = 5c2b952adc651fee7f09601dfa241402
+SHA256 (libfirm-1.14.0.tar.bz2) = c9d14c28213fb4d6bda5fec564771f25d22db40bb535826f0e0fef7bc7985520
+SIZE (libfirm-1.14.0.tar.bz2) = 1520407
diff --git a/devel/libfirm/pkg-descr b/devel/libfirm/pkg-descr
new file mode 100644
index 000000000000..53fed3f7a07b
--- /dev/null
+++ b/devel/libfirm/pkg-descr
@@ -0,0 +1,24 @@
+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)
+
+WWW: http://libfirm.org/
diff --git a/devel/libfirm/pkg-plist b/devel/libfirm/pkg-plist
new file mode 100644
index 000000000000..2cfef9562f4d
--- /dev/null
+++ b/devel/libfirm/pkg-plist
@@ -0,0 +1,97 @@
+include/libfirm/absgraph.h
+include/libfirm/adt/align.h
+include/libfirm/adt/array.h
+include/libfirm/adt/bipartite.h
+include/libfirm/adt/cpset.h
+include/libfirm/adt/eset.h
+include/libfirm/adt/fourcc.h
+include/libfirm/adt/gaussjordan.h
+include/libfirm/adt/gaussseidel.h
+include/libfirm/adt/hashptr.h
+include/libfirm/adt/hashset.h
+include/libfirm/adt/hungarian.h
+include/libfirm/adt/impl.h
+include/libfirm/adt/iterator.h
+include/libfirm/adt/list.h
+include/libfirm/adt/obst.h
+include/libfirm/adt/obstack.h
+include/libfirm/adt/offset.h
+include/libfirm/adt/pdeq.h
+include/libfirm/adt/plist.h
+include/libfirm/adt/pmap.h
+include/libfirm/adt/pqueue.h
+include/libfirm/adt/pset.h
+include/libfirm/adt/pset_new.h
+include/libfirm/adt/raw_bitset.h
+include/libfirm/adt/set.h
+include/libfirm/adt/unionfind.h
+include/libfirm/adt/util.h
+include/libfirm/adt/xmalloc.h
+include/libfirm/analyze_irg_args.h
+include/libfirm/archop.h
+include/libfirm/be.h
+include/libfirm/callgraph.h
+include/libfirm/cdep.h
+include/libfirm/cgana.h
+include/libfirm/dbginfo.h
+include/libfirm/dfs.h
+include/libfirm/execfreq.h
+include/libfirm/execution_frequency.h
+include/libfirm/field_temperature.h
+include/libfirm/firm.h
+include/libfirm/firm_common.h
+include/libfirm/firm_types.h
+include/libfirm/firm_ycomp.h
+include/libfirm/firmstat.h
+include/libfirm/height.h
+include/libfirm/ident.h
+include/libfirm/interval_analysis.h
+include/libfirm/irarch.h
+include/libfirm/ircgcons.h
+include/libfirm/ircgopt.h
+include/libfirm/ircons.h
+include/libfirm/irconsconfirm.h
+include/libfirm/irdom.h
+include/libfirm/irdump.h
+include/libfirm/iredgekinds.h
+include/libfirm/iredges.h
+include/libfirm/irextbb.h
+include/libfirm/irflag.h
+include/libfirm/irgmod.h
+include/libfirm/irgopt.h
+include/libfirm/irgraph.h
+include/libfirm/irgwalk.h
+include/libfirm/irhooks.h
+include/libfirm/irlivechk.h
+include/libfirm/irloop.h
+include/libfirm/irmemory.h
+include/libfirm/irmode.h
+include/libfirm/irnode.h
+include/libfirm/irop.h
+include/libfirm/iropt.h
+include/libfirm/iropt_dbg.h
+include/libfirm/iroptimize.h
+include/libfirm/irouts.h
+include/libfirm/irprintf.h
+include/libfirm/irprog.h
+include/libfirm/irsimpletype.h
+include/libfirm/irtypeinfo.h
+include/libfirm/irvrfy.h
+include/libfirm/lowering.h
+include/libfirm/old_fctnames.h
+include/libfirm/phiclass.h
+include/libfirm/pseudo_irg.h
+include/libfirm/rta.h
+include/libfirm/seqnumbers.h
+include/libfirm/structure.h
+include/libfirm/timing.h
+include/libfirm/trouts.h
+include/libfirm/tv.h
+include/libfirm/typerep.h
+lib/libfirm.a
+lib/libfirm.la
+lib/libfirm.so
+lib/libfirm.so.0
+libdata/pkgconfig/libfirm.pc
+@dirrm include/libfirm/adt
+@dirrm include/libfirm