LLVM 3.3 i Clang 3.3 ze wsparciem AArch64 oraz nowym wektoryzatorem SLP

LLVM 3.3 i Clang 3.3 ze wsparciem AArch64 oraz nowym wektoryzatorem SLP

przez -
6 501
LLVM

Chris Lattner ogłosił wydanie LLVM 3.3 razem z front-end kompilatora dla języków C, C++ oraz Objective-C Clang 3.3. Projekt LLVM obejmuje narzędzia takie jak kompilator języków C/C++/Objective-C – Clang, bibliotekę compiler-rt (“compiler-rt” Runtime Library), niskopoziomowy debugger LLDB, biblioteka standardowa libc++ dla C++ i VMKit JVM używająca LLVM dla kompilacji statycznej i JIT. Celem projektu jest stworzenie alternatywy dla kompilatora z projektu GCC. Prace nad projektami sponsorowane są przez Apple, a wszystko wydawane jest na licencji BSD.

Zmiany, jakie zaszły:

  • Pojawił się backend procesora graficznego AMD R600
  • Dodano wsparcie dla AArch64
  • Dodano nowy wektoryzator (Vectorizer): Superword-Level Parallelism
  • Udoskonalono wektoryzer pętli (Loop Vectorizer), czyli zamiana operacji w pętli na operacje wektorowe (wiele na raz), który został wprowadzony w LLVM 3.2 i Clang 3.2
  • Kompilator Clang C/C++ jest zgodny ze standardem C++11
  • Udoskonalono mikroarchitekturę x86, np. dodano obsługę AVX2