Logo Blogo

DragonEgg, LLVM come backend per GCC

Pubblicato: 14 feb 2010 da Lpt on fire!


DragonEgg è un plugin che consente di usare LLVM come backend per Gcc.

In pratica vengono rimpiazzati l’ottimizzatore ed il generatore di codice con quelli del progetto LLVM grazie all’architettura a plugin di Gcc 4.5 (non ancora rilasciato ufficialmente) ed è una riscrittura del vecchio llvm-gcc che consisteva in una versione “patchata” di gcc.

Per provarlo sarà sufficiente aggiungere alla linea di comando -fplugin=path/dragonegg.so. Al momento il codice non è ancora pronto per un utilizzo professionale, ma chi ha voglia di provare e/o contribuire al progetto può già iniziare a lavorarci sopra.

Le attuali condizioni di DragonEgg:

  • In C funziona tutto bene e si può compilare persino un gcc funzionante
  • In C++ funziona abbastanza bene e si può compilare un LLVM funzionante. Ci sono ancora problemi con il codice presente in clang e boost
  • Molto codice scritto in Fortran funziona, ma non è ancora stato controllato che sia effettivamente corretto
  • Compila molto di Ada, ma il codice può comportarsi in maniera erronea
  • Può compilare una piccola parte di Obj-C e Obj-C++
  • Non può compilare java
  • La gestione delle eccezioni non funziona
  • Informazioni di debug limitate
  • Richiede, ancora, una patch al gcc
  • Supporta solo x86-32 e x86-64 su linux e darwin


Via | DragonEgg

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
0 commenti

Inserisci per primo un commento a questo articolo.

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento