Fixed Issues / Improvements
- Multiple refactor changes in preparation of LLVM upgrade to version 11.
- Vector backend improvements:
- clearer reports about unsupported types,
- introduced i64 emulation pass,
- support for -ftime-report,
- support for genx_addc and genx_subb intrinsics.
- Added support for OpConstFunctionPointerINTEL, 1024-bit constants in SPIRVReader.
- Added patches for SPIRV-LLVM-Translator based on LLVM9.
- Added support for experimental SYCL unmasked call feature.
- Added option to force thread group size.
- Added fallback path when ZEBinary is enabled by -allow-zebin.
- Updated CMFE interface.
- Relaxed some checks to allow a subset of i64 operations for targets without native i64 support.
- Fixed translation of non 32/64-bit constants.
- Fixed processing of GEP instruction when the index is a vector.
- Fixed buildbreak with VectorCompiler switched off.
- Removed unused IGA files, updated IGA.
- Many minor optimization and code improvements throughout whole project.
Dependencies revisions
- intel/llvm-patches@c4a0345
- intel/opencl-clang@6a9cd2c
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@55124bb
- KhronosGroup/SPIRV-LLVM-Translator@e8a52ab (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.