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

Mit der Version 4.0 beginnt das LLVM-Projekt ein neues Schema zur Versionierung. Außerdem entfernen die Compiler nun aggressiver als bisher Code, Koroutinen werden experimentell unterstützt und es gibt ein offizielles Backend für Atmel AVR.

Artikel veröffentlicht am ,
Mit LLVM 4.0 können Entwickler eigene Compiler-Warnungen bauen.
Mit LLVM 4.0 können Entwickler eigene Compiler-Warnungen bauen. (Bild: LLVM)

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 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.

Stellenmarkt
  1. Product Owner (m/w/d) Subscription Billing Cloud
    nexnet GmbH, Berlin
  2. Data Scientist - Informatiker / Physiker / Mathematiker (m/w/d)
    Vodafone GmbH, Unterföhring
Detailsuche

In LLVM 4.0 wurde unter anderem das aggressive Entfernen von nicht genutztem Code weiter ausgebaut, s odass 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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Cloud-Ausfall
Eine AWS-Region als Single Point of Failure

Ein stundenlanger Ausfall der AWS-Cloud legte zentrale Dienste und sogar Amazon selbst teilweise lahm. Das zeigt die Grenzen der Cloud-Versprechen.
Ein Bericht von Sebastian Grüner

Cloud-Ausfall: Eine AWS-Region als Single Point of Failure
Artikel
  1. Bundesnetzagentur: 30 Messungen an drei unterschiedlichen Kalendertagen
    Bundesnetzagentur
    30 Messungen an drei unterschiedlichen Kalendertagen

    Die Bundesnetzagentur hat festgelegt, wann der Netzbetreiber/Provider den Vertrag nicht erfüllt. Es muss viel gemessen werden.

  2. Vodafone und Telekom: 100 Prozent Versorgung wirtschaftlich nicht machbar
    Vodafone und Telekom
    100 Prozent Versorgung "wirtschaftlich nicht machbar"

    Golem.de wollte von den Mobilfunkbetreibern Telekom und Vodafone wissen, was sie von einer Vollversorgung abhält.

  3. Euro NCAP: Renault Zoe mit katastrophalem Crash-Ergebnis
    Euro NCAP
    Renault Zoe mit katastrophalem Crash-Ergebnis

    Mit dem Renault Zoe sollte man keinen Unfall bauen. Im Euro-NCAP-Crashtest erhielt das Elektroauto null Sterne.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Acer-Monitore zu Bestpreisen (u. a. 27" FHD 165Hz OC 199€) • Kingston PCIe-SSD 1TB 69,90€ & 2TB 174,90€ • Samsung Smartphones & Watches günstiger • Saturn: Xiaomi Redmi Note 9 Pro 128GB 199€ • Alternate (u. a. Razer Opus Headset 69,99€) • Release: Halo Infinite 68,99€ [Werbung]
    •  /