LLVM è un'infrastruttura di compilazione progettata per l'ottimizzazione in fase di compilazione, link-time, runtime e "idle-time" di programmi da linguaggi di programmazione arbitrari.
LLVM attualmente supporta la compilazione di programmi C ++ e C, usando front-end derivati da gcc 3.4.
Novità in questa versione:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 6.0.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità della versione nella versione:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità della versione nella versione 5.0.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 4.0.1:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 4.0.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 3.9.1:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 3.9.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 3.8.1:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità in nella versione 3.8.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità della versione 3.7.1:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità in nella versione 3.7.0:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità in nella versione 3.6.2:
- Questa è una grande nuova versione con molte funzionalità. Clang ora supporta tutte le funzionalità nella bozza di lavoro corrente del prossimo standard C ++, denominata provvisoriamente C ++ 1y. L'analizzatore statico ha notevolmente migliorato il supporto C ++, produce meno falsi positivi e cattura più bug. Clang include anche alcune nuove funzionalità: 1) uno strumento chiamato & quot; clang-format & quot; che può essere utilizzato in un IDE o editor di testo per auto-formattare il codice in base agli stili incorporati e 2) un nuovo driver (sperimentale!) progettato per la compatibilità drop-in con Visual Studio su Windows. Nel generatore di codice, le prestazioni generali sono notevolmente aumentate. In particolare, il ciclo auto-vectorizer è ora abilitato a -Os e -O2 in aggiunta a -O3 (con euristica opportunamente sintonizzata per ogni livello). L'auto-vectorizer SLP (& quot; straight line & quot;) è ora abilitato di default. Molti obiettivi hanno fatto passi da gigante, ma il target R600 è ora costruito di default (invece di sperimentale), il back-end di PowerPC ha apportato numerosi miglioramenti alla qualità di generazione del codice e al tempo di compilazione, e i backend X86, SPARC, ARM32, Aarch64 e SystemZ tutti hanno visto lavori di funzionalità importanti.
Oltre a tutti i miglioramenti, c'è un cambiamento notevole: clang -O4 ora non consente più implicitamente l'ottimizzazione del link-time. LTO continua a essere disponibile con il flag -flto e può essere abilitato a qualsiasi livello di ottimizzazione. Per ottenere il precedente comportamento -O4, usa semplicemente & quot; clang -O3 -flto & quot ;. Inoltre, LLVM 3.4 sarà l'ultima versione che verrà creata con un semplice compilatore C ++ '98. Le versioni future richiederanno un certo supporto C ++ 11 nel compilatore host da compilare. LLVM 3.4 è il risultato di un incredibile numero di persone che lavorano insieme negli ultimi sei mesi, ma questa versione non sarebbe stata possibile senza il nostro team di rilascio volontario! Grazie a Bill Wendling per aver reso possibile tutto questo guidando l'uscita, e ai fantastici testimoni del rilascio: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e Sergente, Sylvestre Ledru e Tom Stellard.
Novità nella versione 3.2:
- Questa versione include un numero enorme di correzioni di bug, modifiche delle prestazioni e piccoli miglioramenti.
Novità in nella versione 3.1:
- Supporto parziale per gcc-4.7. Il supporto di Ada è scarso, ma altri linguaggi funzionano abbastanza bene.
- Supporto per processori ARM. Alcuni header gcc essenziali necessari per creare DragonEgg per ARM non vengono installati da gcc. Per ovviare a questo, copia le intestazioni mancanti dall'albero dei sorgenti di gcc.
- Migliore ottimizzazione per Fortran sfruttando il fatto che gli argomenti scalari di Fortran hanno una semantica 'restrittiva'.
- Migliore ottimizzazione per tutte le lingue passando informazioni su tipo aliasing e intervalli di tipi agli ottimizzatori LLVM.
- È stata aggiunta una suite di test di regressione.
Novità della versione nella versione 3.0:
- Supporto notevolmente migliorato per la creazione di applicazioni C ++, con maggiore stabilità e una migliore diagnostica.
- Supporto migliorato per lo standard C ++ 2011 (noto anche come C ++ '0x & quot;), incluse implementazioni di inizializzatori di membri dati non statici, modelli alias, costruttori deleganti, loop basati su intervalli e generatori di movimento generati implicitamente operatori di assegnazione, tra gli altri.
- Supporto implementato per alcune funzionalità del prossimo standard C1x, incluse asserzioni statiche e selezioni generiche.
- Migliore rilevamento dei percorsi di inclusione e di collegamento per le intestazioni e le librerie di sistema, in particolare per le distribuzioni Linux.
- Diversi miglioramenti al supporto di Objective-C, tra cui:
- Conteggio riferimento automatico (ARC) e un modello di memoria migliorato che separa in modo pulito oggetti e memoria C.
- Uno strumento di migrazione per spostare il codice di conservazione / rilascio manuale su ARC
- Migliore supporto per l'occultamento dei dati, che consente di dichiarare le variabili di istanza nei contesti di implementazione o nelle estensioni di classe
- Supporto di collegamento debole per le classi Objective-C
- Miglioramento del controllo dei tipi statici mediante inferenza del tipo restituito di metodi come + alloc e -init.
- Alcune nuove funzioni di Objective-C richiedono il runtime Objective-C di Mac OS X 10.7 / iOS 5 o la versione 1.6 o successiva della versione di runtime Objective-C di GNUstep.
- Implementato una serie di ottimizzazioni in libclang, l'interfaccia Clang C, per migliorare le prestazioni del completamento del codice e il mapping dalle posizioni di origine ai nodi della struttura astratta della sintassi.
Novità nella versione 2.9:
- L'analisi alias basata sui tipi (TBAA) è ora implementata e attivata attivo di default in Clang. Ciò consente in alcuni casi un ottimizzazione del carico / immagazzinamento sostanzialmente migliore. TBAA può essere disabilitato passando -fno-strict-aliasing.
- Questa versione ha visto un costante focus sulla qualità delle informazioni di debug. LLVM ora genera informazioni di debug con fedeltà molto più elevata, in particolare quando esegue il debug del codice ottimizzato.
- L'assembly in linea ora supporta più vincoli alternativi.
- Un nuovo backend per l'ISA virtuale NVIDIA PTX (utilizzato per il targeting delle sue GPU) è in rapido sviluppo. Generalmente non è utile in 2.9, ma sta facendo rapidi progressi.
Novità in nella versione 2.7:
- Supporto C ++: Clang è ora in grado di auto-hosting! Sebbene sia ancora di qualità alfa, il supporto per C ++ di Clang è sufficientemente maturo per creare LLVM e Clang, e C ++ ora è abilitato per impostazione predefinita. Vedi la pagina di compatibilità di Clang C ++ per i comuni problemi di migrazione C ++.
- Objective-C: Clang ora include il supporto sperimentale per un ABI Objective-C aggiornato su piattaforme non Darwin. Ciò include il supporto per variabili di istanza non fragili e proxy accelerati, nonché un maggiore potenziale per future ottimizzazioni. Il nuovo ABI viene utilizzato durante la compilazione con le opzioni -fobjc-nonfragile-abi e -fgnu-runtime. Il codice compilato con queste opzioni può essere mescolato con il codice compilato con GCC o clang usando il vecchio GNU ABI, ma richiede il runtime libobjc2 dal progetto GNUstep.
- Nuovi avvisi: Clang contiene una serie di nuovi avvertimenti, tra cui avvertenze sul flusso di controllo (codice non raggiungibile, dichiarazioni di ritorno mancanti in una funzione non vuota, ecc.), avvisi di confronto dei segni e avvisi di stringhe di formato migliorate.
- API CIndex e collegamenti Python: Clang ora include un'API C come parte della libreria CIndex. Sebbene in futuro potremmo apportare alcune modifiche all'API, è inteso che sia stabile ed è stato progettato per essere utilizzato da progetti esterni. Vedere la documentazione di Clang doxygen CIndex per ulteriori dettagli. L'API CIndex include anche un set preliminare di collegamenti Python.
- Supporto ARM: ora Clang supporta ABI sia per gli ARM AB Darwin che per quelli Linux. Accoppiato con molti miglioramenti al backend ARM LLVM, Clang è ora adatto per l'uso come compilatore ARM di qualità beta.
Novità in nella versione 2.5:
- Clang ora ha un nuovo driver, che è focalizzato sulla fornitura di un'interfaccia compatibile con GCC.
- Ora è supportato l'ABI X86-64, incluso il supporto per il runtime Objective-C a 64 bit di Apple e la gestione delle eccezioni a costo zero.
- Il supporto dell'intestazione precompilato è ora implementato.
- Il supporto Objective-C è notevolmente migliorato oltre LLVM 2.4, supportando molte funzionalità, come la raccolta di rifiuti Objective-C.
- Gli array di lunghezza variabile ora sono completamente supportati.
- Gli inizializzatori designati C99 ora sono completamente supportati.
- Clang ora include tutte le principali intestazioni del compilatore, tra cui un tgmath.h riprogettato e molte altre intestazioni intrinseche.
- Molti bug sono corretti e molte funzionalità sono state aggiunte.
I commenti non trovato