/ Internet / Compiler-Baukasten: LLVM 4.0 unterstützt AVR-Microcontroller und Koroutinen

Compiler-Baukasten: LLVM 4.0 unterstützt AVR-Microcontroller und Koroutinen

sp_104967-25862-i_rc.jpg
Heinrich Voigts an März 15, 2017 - 1:45 am in Internet

Die halbjährlich erscheinende jeweils neue Version des Compiler-Bauskastens LLVM wird künftig ihre Versionsnummer immer erhöhen. Auf die nun verfügbare Version 4.0 von LLVM wird in sechs Monaten also LLVM 5.0 folgen. Laut der Ankündigung dazu soll das Schema damit vereinfacht werden und vor allem verständlicher sein als bisher. Die Versionsnummern gelten ebenso für den Compiler für C-artige Sprachen Clang.

Zu den neuen Funktionen von LLVM 4.0 gehört unter anderem, dass das aggressive Entfernen von nicht genutztem Code weiter ausgebaut worden ist, sodass auch ganze Codezweige entfernt werden, wenn dies das Verhalten des Programms nicht beeinflusst. Das Verhalten kann außerdem auf Schleifen ausgeweitet werden.

Die Daten der sogenannten Profile Guided Optimization (PGO) können zudem bei der Verwendung von Thin LTO genutzt werden. Experimentell unterstützt LLVM ab Version 4.0 auch die Verwendung von Koroutinen. Details zu Letzterem finden sich in einem Vortrag vom LLVM-Entwicklertreffen im vergangenen Jahr. Das Team hat ebenso die Kompatibilität zu GNU ld erhöht und die Leistung seines eigenen Linkers LLD deutlich verbessert.

Neu zu LLVM 4.0 hinzugekommen ist das bisher extern gepflegte Backend für die AVR-Architektur, die auf einer Vielzahl von Microcontrollern eingesetzt wird. Das sogenannte x86-Target erhält darüber hinaus explizite Unterstützung für die neuen Ryzen CPUs von AMD mit der Option znver1. Die wohl größte Neuerung für Clang ist das Attribut diagnose_if, mit dem Entwickler selbst festlegen können, wann und ob durch den Compiler eine Warnung oder ein Fehler ausgegeben wird. Ebenso gibt es nun die Option -Og, mit der das Debugging optimiert werden soll, noch verhält sich diese Option zwar wie -O1, was das Team künftig aber ausbauen will.

Read more on: Source

Kommentare sind deaktiviert