LLVM 3.1

LLVM 3.1

    przez -
    1 282
    LLVM
    Chris Lattner ogłosił wydanie LLVM 3.1 razem z językiem programowania Clang. LLVM jest kompilatorem napisanym w C++, który został zaprojektowany do optymalizacji compile-time, link-time, run-time, i idle-time programów napisanych w dowolnych językach programowania. Clang to frontend kompilatora dla języków C, C++ oraz Objective-C, stworzony w ramach projektu LLVM, który jest używany jako back-end (generator kodu natywnego i optymalizator). Celem projektu jest stworzenie alternatywy dla kompilatora z projektu GCC. Prace nad projektami sponsorowane są przez Apple, a wszystko wydawane jest na licencji BSD.

    Clang:

    • Mocno udoskonalone rozszerzone wsparcie dla C++11, w tym lambdas, listy inicjalizacyjne, literały zdefiniowane przez użytkownika i operacje atomowe (zmiany muszą zostać w całości zatwierdzone lub zmiana obiektów współdzielonych jest, z punktu widzenia procesu jest niepodzielna)
    • Nowa biblioteka narzędziowa do łatwego budowania niezależnych narzędzi clang
    • Rozszerzone wsparcie dla literałów w Objective C

    DragonEgg:

    • Częściowe wsparcie dla GCC 4.7. Wsparcie dla Ada jest nadal kiepskie, ale reszta języków ma się dobrze
    • Wsparcie dla procesorów ARM
    • Lepsza optymalizacja dla Fortrana i innych języków
    • Dodano pakiet testowania regresji/błędów w oprogramowaniu

    Polly – Polyhedral Optimizer:

    • Polly stała się częścią projektu LLVM
    • Można ładować polly bezpośrednio do clang (uruchamiane przez polecenie -O3 -mllvm -polly)
    • Zintegrowano automatyczny optymalizator harmonogramu

    • pijaczek

      Zawsze mnie dziwi w nowych wydaniach Clang/LLVM, że dalej nie zrobili tak ważnej rzeczy jak wsparcie dla OpenMP.