Clang/LLVM e2k: complete C/C++ developer kit for Elbrus

Includes:

  • Modern clang compiler with support for current versions of C/C++ standards;
  • Native LLVM backend for Elbrus architecture with optimizing code generator;
  • Support for all versions of Elbrus architecture: v3, v4, v5, v6, v7, cross and native versions;
  • Advanced debugging support:
  • High-quality debug information;
  • Code instrumentation (sanitizers, profiling, fuzzing, coverage);
  • LLD linker and accompanying llvm utilities;
  • OpenMP, compiler-rt, libunwind, libc++ libraries;
  • Compatibility with MCST reference compiler:
  • Full e2k ABI compliance;
  • Full set of e2k builtins for clang frontend and corresponding IR intrinsics;
  • LCC-compatible emulation of x86 builtins for clang frontend;
  • Compatible support for assembly language and inline assembly, including OS kernel level.

A full-fledged backend implementation for the Elbrus architecture allows its natural integration into any scenarios where LLVM code generators are used — programming language compilers (Rust, Fortran, Swift, Julia, etc.), machine learning and heterogeneous computing frameworks and accelerators, JIT compilers for managed platforms, DBMS, etc.

High stability and reliability, comprehensive testing on a large number of projects, including full Linux OS images.

Regular updates to the latest LLVM releases (1-2 times per year).

Continuous work on performance improvement. Targeted optimization of your tasks is possible.