Fixed Issues / Improvements
- Updated IGA,
- Improving i64 emulation:
- Enabled i64 emulation on platforms which do not support it,
- Extended i64 emulation pass to support genx_min/max and genx_trunc_sat,
- Avoiding i64 emulation for indirect operands,
- Added CodeGenContext members for non-kernel-arg stateless memory access analysis,
- Added DeleteLegacyIntrinsicDeclarations pass,
- Added diagnostic for missing int<->double conversions,
- Added System Routine interface,
- Added a regkey to insert the discard code during IGC compilation,
- Added support for double type in erf, erfc, lgamma and tgamma functions,
- Added support for using vertex buffers to send shader draw parameters,
- Added an ExtraOCLOptions regkey to configuration flags,
- Added more debug output for VISA builder and regalloc,
- Added new string macros; applied them to IGC,
- Allowing arithmetic on generic pointers,
- Changed vISA null variable to null ARF,
- Cleaned up ld/st/atomic structured emit,
- Improved marking allocas as random (non-uniform),
- Fixed aligning method in live ranges,
- Fixed condition to clean implicit id code when -cl-kernel-debug-enable is passed,
- Fixed bug for linear Scan RA stack call,
- Fixed enabling SIMD16 for stackcalls, accounting for enabling subroutines at the same time,
- Optimized compilation time for linear scan RA,
- Refactored StatelessToStatefull pass,
- Refactored createInst() to avoid passing useless line number information,
- Removed VC-related code from dllInterfaceCompute; moved this code to igcdeps library,
- Removed LLVM 4 support in WrapperLLVM,
- TrivialLocalMem optimization is meant for entry function only. Disabled it for subroutines,
- Tuned remat cost functions,
- Setting proper addrspace when localizing globals,
- Multiple other improvements and bug fixes.
Dependencies revisions
- intel/llvm-patches@cfc8005
- intel/opencl-clang@55e6029
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@eabcd20
- KhronosGroup/SPIRV-LLVM-Translator@e8a52ab (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.