Fixed Issues / Improvements
- Added support for non-constant parameter for
llvm.genx.GenISA.memoryfence
andllvm.genx.GenISA.typedmemoryfence
instructions, - Added analysis of stateless memory load/store,
- Added env. variable for SPIRVDLL path,
- Added new regkey to disable DispatchAlongY for HW IDs,
- Avoiding passing large composite values when localizing globals by value,
- Compile time improvements in IGC debug info,
- Considering constant EM lowered in SIMDCFConformance,
- Convert pseudo-or/and/xor to Gen or/and/xor if flag size is smaller than inst SIMD size,
- Enabled vector-backend to take LLVM bitcode input,
- Debug info should be generated automatically when run under gdb,
- Enabled RNE by default for IEEE float-divide,
- Enabled SIMD32 subgroup shuffles,
- Fixed GRF register checking in linear scan RA,
- Fixed parsing of switchjmp for vISA assembly,
- Fixed SPIRV reader constructing reference type debug metadata,
- Initial support for interprocedural TPM pass,
- Introduction of new entry in IGC constant folder for IBFE,
- Lower genx.*mul.sat intrinsics since integer mul.sat is not supported,
- Made improvements in ranges emitted to .debug ranges section,
- Negative modifiers are no longer baled if applied on unsigned integer,
- Open sourced IMF LA; added common header,
- Refactored Int64b support,
- Removed indirection for input arguments,
- Removed legacy inter-procedural analysis code for RA,
- Removed support for -cl-feature,
- Rewritten CM adaptor library,
- Simplifying building workspace/instruction,
- Skip CS simd32 if it is a retry to speed up compile time,
- Skip invalid warning in ShaderOverride mode,
- Unify the stack call functions for both global RA and linear scan RA,
- Vector compiler:
- Backend should not use reserved BTI indexes for debuggable kernels,
- i64 emulation should convert partial predicates to icmp,
- Refactored TransformNode CMABI.
- Changes in preparation of LLVM 11 upgrade,
- Other minor improvements and fixes.
Dependencies revisions
- intel/llvm-patches@d8b63ab
- 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.