Fixed Issues / Improvements
- Moved FP64 math to separate bc, a second attempt,
- Added debug printouts for DebugInfo,
- Renamed createSrc to make it less verbose and aligned with createDst,
- Added processing of new masked gather intrinsics (gather4_masked_scaled2 and gather_masked_scaled2)
- Moved ModuleAllocaInfo to the header for reuse,
- Unified inlining heuristic for stackcalls and subroutines,
- Cleaned up IR debug dumps,
- Fix for argument indirection with already indirected call,
- Fixed a bug where spilled dst's size was incorrectly computed in debug mode,
- VC: Support FP64 BiF after it was supported in scalar backend,
- Added optimizations for signed division for constant power of 2,
- Cleaned up in GenXCategory,
- Fixed subregister offset for spilled destination,
- IMF LA open-sourcing: Switch back to previous FP32 atan2 implementation,
- Changed reduce implementation to remove extra barriers,
- Corrected wrappers in llvm::DIBuilder,
- Provide the ability to call one kernel from another,
- Reduced time on LiveVar update,
- Don't insert branches in loops and on a big amount of samples,
- Enabled ForceInlineStackCallWithImplArg by default, and -O0 no longer force inlines all function calls,
- Reduced the RA compilation time-use: replace push_back with emplace_back,
- Handle optnone builtins with subroutines instead of stackcalls,
- Other minor fixed and improvements.
Dependencies revisions
- intel/llvm-patches@9cbc7cf
- intel/opencl-clang@4e83bbf
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@5032643
- KhronosGroup/SPIRV-LLVM-Translator@e8a52ab (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.