devel/libfirm - The NetBSD Packages Collection

Provides a graph-based SSA representation of programs

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)

Build dependencies

devel/libtool-base pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

(none)

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64libfirm-1.21.0.tgz
NetBSD 10.0aarch64libfirm-1.21.0.tgz
NetBSD 10.0aarch64libfirm-1.21.0.tgz
NetBSD 10.0aarch64eblibfirm-1.21.0.tgz
NetBSD 10.0aarch64eblibfirm-1.21.0.tgz
NetBSD 10.0alphalibfirm-1.21.0.tgz
NetBSD 10.0earmv4libfirm-1.21.0.tgz
NetBSD 10.0earmv6hflibfirm-1.21.0.tgz
NetBSD 10.0earmv6hflibfirm-1.21.0.tgz
NetBSD 10.0earmv6hflibfirm-1.21.0.tgz
NetBSD 10.0earmv7hflibfirm-1.21.0.tgz
NetBSD 10.0earmv7hflibfirm-1.21.0.tgz
NetBSD 10.0earmv7hflibfirm-1.21.0.tgz
NetBSD 10.0i386libfirm-1.21.0.tgz
NetBSD 10.0i386libfirm-1.21.0.tgz
NetBSD 10.0m68klibfirm-1.21.0.tgz
NetBSD 10.0powerpclibfirm-1.21.0.tgz
NetBSD 10.0vaxlibfirm-1.21.0.tgz
NetBSD 10.0vaxlibfirm-1.21.0.tgz
NetBSD 10.0x86_64libfirm-1.21.0.tgz
NetBSD 10.0_BETAx86_64libfirm-1.21.0.tgz
NetBSD 8.0i386libfirm-1.21.0.tgz
NetBSD 8.0i386libfirm-1.21.0.tgz
NetBSD 8.0powerpclibfirm-1.21.0.tgz
NetBSD 8.0powerpclibfirm-1.21.0.tgz
NetBSD 8.0powerpclibfirm-1.21.0.tgz
NetBSD 8.0powerpclibfirm-1.21.0.tgz
NetBSD 8.0x86_64libfirm-1.21.0.tgz
NetBSD 8.0x86_64libfirm-1.21.0.tgz
NetBSD 8.0x86_64libfirm-1.21.0.tgz
NetBSD 9.0aarch64libfirm-1.21.0.tgz
NetBSD 9.0aarch64libfirm-1.21.0.tgz
NetBSD 9.0aarch64libfirm-1.21.0.tgz
NetBSD 9.0alphalibfirm-1.21.0.tgz
NetBSD 9.0alphalibfirm-1.21.0.tgz
NetBSD 9.0earmlibfirm-1.21.0.tgz
NetBSD 9.0earmv4libfirm-1.21.0.tgz
NetBSD 9.0earmv4libfirm-1.21.0.tgz
NetBSD 9.0earmv6hflibfirm-1.21.0.tgz
NetBSD 9.0earmv6hflibfirm-1.21.0.tgz
NetBSD 9.0earmv6hflibfirm-1.21.0.tgz
NetBSD 9.0earmv7hflibfirm-1.21.0.tgz
NetBSD 9.0earmv7hflibfirm-1.21.0.tgz
NetBSD 9.0earmv7hflibfirm-1.21.0.tgz
NetBSD 9.0i386libfirm-1.21.0.tgz
NetBSD 9.0i386libfirm-1.21.0.tgz
NetBSD 9.0m68klibfirm-1.21.0.tgz
NetBSD 9.0mips64eblibfirm-1.21.0.tgz
NetBSD 9.0powerpclibfirm-1.21.0.tgz
NetBSD 9.0powerpclibfirm-1.21.0.tgz
NetBSD 9.0powerpclibfirm-1.21.0.tgz
NetBSD 9.0sh3ellibfirm-1.21.0.tgz
NetBSD 9.0sh3ellibfirm-1.21.0.tgz
NetBSD 9.0sparc64libfirm-1.21.0.tgz
NetBSD 9.0sparclibfirm-1.21.0.tgz
NetBSD 9.0sparclibfirm-1.21.0.tgz
NetBSD 9.0vaxlibfirm-1.21.0.tgz
NetBSD 9.0vaxlibfirm-1.21.0.tgz
NetBSD 9.0vaxlibfirm-1.21.0.tgz
NetBSD 9.0x86_64libfirm-1.21.0.tgz
NetBSD 9.0x86_64libfirm-1.21.0.tgz
NetBSD 9.3x86_64libfirm-1.21.0.tgz
NetBSD 9.3x86_64libfirm-1.21.0.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.