libbirm

Libfirm is een bibliotheek die een tussenprogramma en optimalisaties voor compilers biedt.
Download nu

libbirm Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Matze Braun
  • Uitgever website:
  • http://www.info.uni-karlsruhe.de/software/libfirm

libbirm Tags


libbirm Beschrijving

libFirm is een bibliotheek die een tussenrepresentatie en optimalisaties voor compilers verschaffen. libFirm is een bibliotheek die een tussenrepresentatie en optimalisaties voor compilers verschaffen. De programma's worden weergegeven in een grafiek op basis van SSA vorm. Firm wordt gebruikt om computerprogramma's in een computerprogramma vertegenwoordigen om te analyseren en om te zetten. belangrijkste toepassing Firm is compiler constructie waarbij we gebruiken om te vertegenwoordigen, te optimaliseren en te transformeren C en Java-programma's native machine code. Hier zijn een aantal belangrijke eigenschappen van "libFirm": · Werkt uitsluitend op een grafiek gebaseerd SSA representatie ( "zee nodes") tot assemblercode emissie. Op basis van het werk van C. Klik en M. Trapp · Geschreven in draagbare C. bekend dat het draait op MSVC 6-8 Win32, gcc op Linux, FreeBSD, Cygwin · Omvat doxygen documentatie · Ondersteuning van objectgeoriënteerde soort hiërarchieën analyses: · dominantie · Lus boom · Uitvoering frequentie · Controle afhankelijkheden · Inter-procedurele call graph · Snelle-type · Def-use · Alias analyse · Klasse hiërarchie analyse Optimalisaties: · Dead code eliminatie (gebeurt impliciet) · Constante vouwen (gebeurt on the fly) · Lokale gemeenschappelijke sub-expressie eliminatie (gebeurt on the fly) · Rekenkundige identiteiten (gebeurt on the fly) · Dode code eliminatie · Wereldwijde gemeenschappelijke sub-eliminatie · Code plaatsing · Operator sterkte reductie · Scalaire vervanging · Load / store-optimalisatie · Besturingsstroom optimalisaties · If-conversie · Gedeeltelijke evaluatievoorwaarde · Reassociation · Staartrecursie eliminatie · inlining · Procedure klonen · Uitgebreide checkers · Verbeterde ondersteuning voor foutopsporing: breekpunten op knooppunt creatie, entiteit creatie, grafiek dumping, Visual Studio debug-extensie · Verlaging van intrinsics, dubbel woord rekenkunde, bitveld generieke backend functies: · Roman SSA gebaseerd register allocator · Verschillende morsen algoritmen · Verschillende SSA kopiëren het samenvoegen algoritmen · Algoritmen voor training en basisblok scheduling · ABI handling helpers · Werken ia32 backend met ondersteuning voor x87 en SSE2 floating point · Onvoltooide backends voor MIPS, ARM, ppc32 · Verbindingen met de Edison Design Group C en Java frontends beschikbaar. Wat is er nieuw in deze release: · bugfixes · Geavanceerde load / store-optimalisatie, die tal van lussen takels · Interne restruturing: Veel knooppunt structuren worden automatisch gegenereerd op basis van een specificatie bestand nu. · Ondersteuning voor meerdere aanroepconventies · Nieuwe experimentele ondersteuning voor het lezen en schrijven programgraphs naar de schijf · Ondersteuning en optimalisaties voor trampolines · Fix PIC support


libbirm Gerelateerde software