LLVM ist eine Compiler-Infrastruktur, die für die Kompilierungszeit, Link-Time-, Runtime- und "Leerlaufzeit" -Optimierung von Programmen aus beliebigen Programmiersprachen entwickelt wurde.
LLVM unterstützt derzeit die Kompilierung von C ++ - und C-Programmen unter Verwendung von von gcc 3.4 abgeleiteten Frontends.
Was ist neu in dieser Version:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 6.0.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in der Version:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 5.0.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 4.0.1:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 4.0.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.9.1:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.9.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.8.1:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.8.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.7.1:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.7.0:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.6.2:
- Dies ist eine große neue Version mit vielen Funktionen. Clang unterstützt nun alle Features im aktuellen Arbeitsentwurf des kommenden C ++ - Standards, vorläufig C ++ 1y genannt. Der statische Analysator hat die C ++ - Unterstützung erheblich verbessert, produziert weniger Fehlalarme und fängt mehr Fehler auf. Clang enthält auch ein paar neue Fähigkeiten: 1) ein Werkzeug mit der Bezeichnung "Clang-Format" Das kann in einem IDE- oder Texteditor verwendet werden, um Ihren Code nach eingebauten Stilen automatisch zu formatieren, und 2) einem neuen (experimentellen!) Treiber, der für die Drop-in-Kompatibilität mit Visual Studio unter Windows entwickelt wurde. Im Code-Generator wird die Gesamtleistung stark erhöht. Bemerkenswerterweise ist der Schleifen-Auto-Vektorisierer jetzt bei -Os und -O2 zusätzlich zu -O3 aktiviert (mit geeignet abgestimmten Heuristiken für jedes Niveau). Der SLP-Autovektorizer ("linearer Code") ist nun auch standardmäßig aktiviert. Viele Ziele haben große Sprünge gemacht, aber das R600-Ziel wird jetzt standardmäßig (anstelle von experimentell) erstellt, das PowerPC-Backend hat einige wichtige Verbesserungen bei der Code-Generierung und Compilierungszeit und den X86-, SPARC-, ARM32-, Aarch64- und SystemZ-Backends vorgenommen haben alle große Feature-Arbeit gesehen.
Zusätzlich zu allen Verbesserungen gibt es eine bemerkenswerte Änderung: clang -O4 ermöglicht jetzt nicht mehr implizit die Optimierung der Verbindungszeit. LTO ist weiterhin mit dem Flag -flto verfügbar und kann auf jeder Optimierungsebene aktiviert werden. Um das vorherige -O4-Verhalten zu erhalten, benutze einfach "clang -O3 -flto". Darüber hinaus wird LLVM 3.4 die letzte Version sein, die mit einem einfachen C ++ 98 Compiler erstellt wird. Zukünftige Versionen benötigen C ++ 11-Unterstützung im Host-Compiler. LLVM 3.4 ist das Ergebnis einer unglaublichen Anzahl von Leuten, die in den letzten sechs Monaten zusammengearbeitet haben, aber diese Veröffentlichung wäre ohne unser freiwilliges Release-Team nicht möglich! Danke an Bill Wendling, der die Veröffentlichung des Albums ermöglicht hat, und an die großartigen Release-Tester Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach und Rafael Espindola , Renato Golin, Sebastian Dreßler, Sylvestre Ledru und Tom Stellard.
Was ist neu in Version 3.2:
- Diese Version enthält eine große Anzahl von Bugfixes, Performance-Optimierungen und kleine Verbesserungen.
Was ist neu in Version 3.1:
- Teilweise Unterstützung für gcc-4.7. Ada-Unterstützung ist schlecht, aber andere Sprachen arbeiten ziemlich gut.
- Unterstützung für ARM-Prozessoren. Einige essentielle gcc-Header, die benötigt werden, um DragonEgg für ARM zu erstellen, werden nicht von gcc installiert. Um dies zu umgehen, kopieren Sie die fehlenden Header aus der gcc-Quellenstruktur.
- Bessere Optimierung für Fortran durch Ausnutzen der Tatsache, dass Fortran-Skalar-Argumente die Semantik "einschränken".
- Bessere Optimierung für alle Sprachen durch Übergabe von Informationen über Typ-Aliasing und Typbereiche an die LLVM-Optimierer.
- Eine Regressionstest-Suite wurde hinzugefügt.
Was ist neu in Version 3.0:
- Stark verbesserte Unterstützung für die Erstellung von C ++ - Anwendungen mit größerer Stabilität und besserer Diagnose.
- Verbesserte Unterstützung für den C ++ 2011-Standard (auch bekannt als "C ++ '0x"), einschließlich Implementierungen von nichtstatischen Datenelementinitialisierern, Aliasvorlagen, delegierenden Konstruktoren, bereichsbasierten for-Schleifen und implizit generierten Move-Konstruktoren und move Zuweisungsoperatoren, unter anderem.
- Implementierte Unterstützung für einige Funktionen des kommenden C1x-Standards, einschließlich statischer Zusicherungen und generischer Auswahlen.
- Bessere Erkennung von Include- und Linking-Pfaden für Systemheader und Bibliotheken, insbesondere für Linux-Distributionen.
- Mehrere Verbesserungen der Objective-C-Unterstützung, einschließlich:
- Automatisches Referenzzählen (ARC) und ein verbessertes Speichermodell, das Objekt und C-Speicher sauber trennt.
- Ein Migrationstool zum Verschieben des manuellen Retain / Release-Codes nach ARC
- Bessere Unterstützung für das Verstecken von Daten, so dass Instanzvariablen in Implementierungskontexten oder Klassenerweiterungen deklariert werden können
- Schwache Linkunterstützung für Objective-C-Klassen
- Verbesserte statische Typprüfung durch Ableiten des Rückgabetyps von Methoden wie + alloc und -init.
- Einige neue Objective-C-Funktionen erfordern entweder die Objective-C-Laufzeitumgebung von Mac OS X 10.7 / iOS 5 oder Version 1.6 oder höher der GNUstep-Objective-C-Laufzeitversion.
- Implementiert eine Reihe von Optimierungen in libclang, der Clang C-Schnittstelle, um die Leistung der Codevervollständigung und die Zuordnung von Quellstandorten zu abstrakten Syntaxbaumknoten zu verbessern.
Was ist neu in Version 2.9:
- Typbasierte Aliasanalyse (TBAA) ist jetzt implementiert und aktiviert standardmäßig in Clang. Dies ermöglicht in einigen Fällen eine wesentlich bessere Lade- / Speicheroptimierung. TBAA kann deaktiviert werden, indem -fno-strict-aliasing-übergeben wird.
- In dieser Version wurde der Schwerpunkt weiterhin auf die Qualität von Debuginformationen gelegt. LLVM generiert nun Debug-Informationen mit einer höheren Genauigkeit, insbesondere beim Debuggen von optimiertem Code.
- Die Inline-Assemblierung unterstützt jetzt mehrere alternative Einschränkungen.
- Ein neues Backend für die virtuelle ISA von NVIDIA PTX (die für die Ausrichtung auf seine GPUs verwendet wird) befindet sich in einer rasanten Entwicklung. Im Allgemeinen ist es in 2.9 nicht nützlich, macht aber rasche Fortschritte.
Was ist neu in Version 2.7:
- C ++ Unterstützung: Clang ist jetzt in der Lage, selbst zu hosten! Die C ++ - Unterstützung von Clang ist zwar immer noch in Alpha-Qualität, aber sie ist ausgereift genug, um LLVM und Clang zu erstellen, und C ++ ist jetzt standardmäßig aktiviert. Auf der Clang C ++ - Kompatibilitätsseite finden Sie häufige C ++ - Migrationsprobleme.
- Objective-C: Clang enthält jetzt experimentelle Unterstützung für eine aktualisierte Objective-C ABI auf Nicht-Darwin-Plattformen. Dies umfasst die Unterstützung für nicht fragile Instanzvariablen und beschleunigte Proxys sowie ein größeres Potenzial für zukünftige Optimierungen. Der neue ABI wird beim Kompilieren mit den Laufzeitoptionen -fobjc-nonfragile-abi und -fgnu verwendet. Code, der mit diesen Optionen kompiliert wird, kann mit Code gemischt werden, der mit GCC oder Clam mit dem alten GNU ABI kompiliert wurde, erfordert aber die Laufzeit libobjc2 aus dem GNUstep-Projekt.
- Neue Warnungen: Clang enthält eine Reihe neuer Warnungen, einschließlich Warnungen für den Steuerungsfluss (nicht erreichbarer Code, fehlende Rückgabeanweisungen in einer nicht void-Funktion usw.), Zeichenvergleichswarnungen und verbesserte Formatzeichenfolgenwarnungen.
- CIndex-API und Python-Bindungen: Clang enthält jetzt eine C-API als Teil der CIndex-Bibliothek. Obwohl wir in Zukunft einige Änderungen an der API vornehmen können, ist beabsichtigt, dass sie stabil ist und für externe Projekte entwickelt wurde. Weitere Informationen finden Sie in der Clang doxygen CIndex-Dokumentation. Die CIndex-API enthält auch eine vorläufige Reihe von Python-Bindungen.
- ARM-Unterstützung: Clang verfügt jetzt über ABI-Unterstützung für die Darwin- und Linux-ARM-ABIs. In Verbindung mit vielen Verbesserungen am LLVM ARM-Backend eignet sich Clang nun auch als ARM-Compiler in Beta-Qualität.
Was ist neu in Version 2.5:
- Clang hat jetzt einen neuen Treiber, der auf die Bereitstellung einer GCC-kompatiblen Schnittstelle ausgerichtet ist.
- Der X86-64 ABI wird jetzt unterstützt, einschließlich Unterstützung für die 64-Bit-Objective-C-Laufzeit von Apple und die Behandlung von Ausnahmefällen ohne Kosten.
- Vorkompilierte Header-Unterstützung ist jetzt implementiert.
- Die Objective-C-Unterstützung wurde gegenüber LLVM 2.4 erheblich verbessert und unterstützt viele Funktionen, wie beispielsweise Objective-C Garbage Collection.
- Arrays mit variabler Länge werden jetzt vollständig unterstützt.
- C99 designierte Initialisierer werden jetzt vollständig unterstützt.
- Clang enthält jetzt alle wichtigen Compiler-Header, einschließlich eines neu gestalteten tgmath.h und einiger weiterer intrinsischer Header.
- Viele Fehler wurden behoben und viele Funktionen wurden hinzugefügt.
Kommentare nicht gefunden