LLVM 3.4 i Clang 3.4 z obsługą SLP Vectorizer i architektury MIPS...

LLVM 3.4 i Clang 3.4 z obsługą SLP Vectorizer i architektury MIPS SIMD

    przez -
    6 375
    LLVM
    Tom Stellard ogłosił wydanie LLVM 3.4 razem z frontendem kompilatora dla języków C, C++ oraz Objective-C – Clang 3.4. Projekt LLVM obejmuje narzędzia takie jak kompilator języków C/C++/Objective-C – Clang, bibliotekę kompilatora czasu pracy (runtime compiler) compiler-rt, niskopoziomowy debugger LLDB, biblioteka standardowa libc++ dla C++ i VMKit JVM używająca LLVM dla kompilacji statycznej i JIT. Projekt jest aktualnie konkurencją dla kompilatora GCC, prace nad nim są sponsorowane przez Apple, a wszystko wydawane jest na licencji BSD.

    Co znajdziemy w tym wydaniu:

    • Backend LLVM dla AMD R600 GPU został domyślnie włączony i nie jest już oznaczony, jako eksperymentalny.
    • Pojawiła się obsługa karty graficznej AMD Sea Islands, a także zgodność OpenGL 3.0
    • Loop Vectorizer jest używany z poziomami optymalizacji -Os i -O2, zamiast -O3
    • Dodano nowy SLP Vectorizer dla poziomu optymalizacji -O3
    • Sporo pracy włożono w rozszerzenie i udoskonalenie dowiązań LLVM OCaml
    • Dodano obsługę architektury MIPS SIMD
    • Dokonano sporo udoskonaleń w backendzie PowerPC, w tym szybsza generacja kodu, wsparcie dla nowych funkcji procesora, naprawiono błędy itp
    • Dodano eksperymentalny backend SPARC V9, obsługę SPARC JIT i udoskonalono wsparcie architektury SPARC
    • Porzucono wsparcie dla starszych wydań Visual Studio. Jest to także ostatnie wydanie LLVM, budowane z użyciem kompilatora C++98, ponieważ twórcy chcą wykorzystać potencjał C++11
    • Udoskonalono obsługę AArch64
    • Udoskonalono debugger LLDB, w tym poprawiono kompatybilność z Linuksem
    • Udoskonalono Clang-cl, w tym naśladowanie Microsoft Visual Studio
    • Dowiązania OCaml powinny pokrywać się z praktycznie wszystkimi bibliotekami LLVM
    • Wskaźniki o różnych rozmiarach dla różnych przestrzeni adresowych powinny przyspieszyć karty graficznej
    • LLVM-ar używa od teraz nowej obiektowej biblioteki, dzięki czemu potrafi tworzyć tabele symboli w formacie GNU