2113507

Linux

LLVM 3.7 freigegeben

03.09.2015 | 12:24 Uhr |

Version 3.7 des Compiler-Frameworks LLVM bringt die vollständige Unterstützung von OpenMP 3.1, eine Implementation von »Control Flow Integrity« und viele weitere Verbesserungen.

Das LLVM-Team an der University of Illinois in Urbana-Champaign bezeichnet LLVM als eine Compilier-Strategie für effektive Optimierung, einen virtuellen Befehlssatz und eine Compiler-Infrastruktur. Es wird zur Zeit für Forschungen im Bereich von Compilern, Architekturen, Sicherheit und Betriebssysteme verwendet.

LLVM (Low Level Virtual Machine) definiert einen virtuellen Befehlssatz, der an RISC-Maschinen angelehnt ist, aber reichhaltige Typinformation und Datenfluss-Information zur Verfügung stellt. Dies ermöglicht zum einen ausgefeilte Transformationen des Objektcodes, andererseits kann die Information an das ausführbare Programm angehängt werden. Dies erlaubt weitere Transformationen während des Linkens, zur Laufzeit und an der ausführbaren Datei selbst, während das Programm nicht läuft.

LLVM 3.7 erscheint genau sechs Monate nach LLVM 3.6 mit vielen neuen Funktionen und Verbesserungen. Unter anderem kann LLVM jetzt Code für den erweiterten Berkely Packet Filter im Linux-Kernel generieren. Der MIPS-Compiler kennt nun die CPUs MIPS32R3, MIPS32R5, MIPS32R3, MIPS32R5 und microMIPS32. Er ermöglicht die dynamische Alignment-Anpassung des Stacks und bringt viele Funktionalität von anderen Architekturen auf MIPS. Der Power-Compiler komplettiert die Instruktionen für POWER7 und fügt POWER8 hinzu. Außerdem werden die QPX-Instruktionen von Blue Gene-Supercomputern unterstützt. Auch Polly, der Polyhedral Loop Optimizer in LLVM, wurde um zahlreiche Funktionen erweitert. Weitere Informationen enthalten die Anmerkungen zur Veröffentlichung .

Auch das Umfeld von LLVM wächst immer weiter. So wird LLVM auch von der freien OpenCL-Implementation pocl und der Implementation einer Transport-getriggerten Architektur TCE , der LISP-ähnlichen Sprache Likely , dem D-Compiler LDC, dem C#-Compiler LLVMSharp und der BPF Compiler Collection verwendet.

Der mit LLVM kommende C-, C++- und Objective C-Compiler Clang erhielt weiter verbesserte Fehlermeldungen. Zudem werden bessere Korrekturvorschläge gemacht. Die Direktive __declspec wird nun verstanden, OpenMP 3.1 vollständig unterstützt und eine Implementation von »Control Flow Integrity« eingebaut, was zu höherer Sicherheit der Programme führen soll. [ Quelle: pro-linux.de ]

0 Kommentare zu diesem Artikel
2113507