LLVM 3.1

LLVM 3.1

przez -
1 439
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.