Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.3 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Libraries

    libFirm 1.20.0

    Download button

    Downloads: 642  Tell us about an update
    User Rating:
    Rated by:
    Fair (2.8/5)
    18 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Matze Braun | More programs
    GPL / FREE
    December 23rd, 2011, 10:53 GMT [view history]
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    libFirm description

    libFirm is a library that provides an intermediate representation and optimizations for compilers.

    libFirm is a library that provides an intermediate representation and optimizations for compilers. Programs are represented in a graph based SSA form. Firm is used to represent computer programs in a computer program in order to analyze and transform it. Firm's main application is compiler construction where we use it to represent, optimize and transform C and Java programs to native machine code.


    Product's homepage

    Here are some key features of "libFirm":

    · works exclusively on a graph-based SSA representation ("sea of nodes") until assembler code emission. Based on the work of C. Click and M. Trapp
    · written in portable C. Known to run on MSVC 6-8 Win32, gcc on Linux, FreeBSD, Cygwin
    · includes doxygen documentation
    · support for object oriented type hierarchies

    Analyses:
    · dominance
    · loop tree
    · execution frequency
    · control dependencies
    · inter-procedural call graph
    · rapid type
    · def-use
    · alias analysis
    · class hierarchy analysis

    Optimizations:
    · dead code elimination (happens implicitly)
    · constant folding (happens on the fly)
    · local common subexpression elimination (happens on the fly)
    · arithmetic identities (happens on the fly)
    · unreachable code elimination
    · global common subexpression elimination
    · code placement
    · operator strength reduction
    · scalar replacement
    · load/store optimization
    · control flow optimizations
    · if-conversion
    · partial condition evaluation
    · reassociation
    · tail recursion elimination
    · inlining
    · procedure cloning

    · extensive checkers
    · enhanced debugging support: breakpoints on node creation, entity creation, graph dumping, visual studio debug extension
    · lowering of intrinsics, double word arithmetics, bitfields

    generic backend features:
    · novel SSA based register allocator
    · several spilling algorithms
    · several SSA copy coalescing algorithms
    · algorithms for instruction and basic block scheduling
    · ABI handling helpers

    · working ia32 backend with support for x87 and SSE2 floating point
    · unfinished backends for MIPS, ARM, PPC32
    · connections to the Edison Design Group C and Java frontends available.

    What's New in This Release: [ read full changelog ]

    · 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

      


    TAGS:

    compiler representation | compiler optimization | Firm library | compiler | representation | optimization

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM