Fixed Issues / Improvements
- Added ARF latency for scheduler,
- Added more dep info in comment for SWSB,
- Added option to disable VC BiF, disable by default prior to LLVM 9,
- Added extra functionality to InlineLocalsResolution for identification and removal of unused global variables and all their successive recursive user nodes in the def-use tree,
- As prebuiltin lib is meant to be neutral to flags, removing llvm.module.flags,
- DebugInfo should emit several bit_pieces if a variable is larger that a register,
- Enable float accumualator for sel,
- Enable split memory fence operations,
- Fixed build break on Clang, error: unknown warning group,
- Fixed emission of debug info for VC in the presence of indirect calls,
- Fixed emit of InsertElement of uniform vector,
- Fixed indentation in CMakes,
- Fixed issue where ResolveGAS pass caused removal of a specific instructions,
- Fixed legalization of stores operating on composite types,
- Fixed missing debug info links when creating Gen specific intrinsics,
- Fixed spill mem size calculation in VC,
- Implemented support for both SPV-IR forms of atomic builtins and OpControlBarrier,
- Improved readability of debug info codebase (NFC),
- Initial support of CM-CL BiF, printf resolution in VC,
- Made dump() no arg function. Add dumptofile(filename),
- Made VC PressureTracker aware of DataLayout,
- New, more accurate implementation of lgamma & tgamma,
- Normalize BE_FP and BE_SP when interpreting them as they are in oword,
- Re-enable memory fence scheduling and do not schedule it beyond branches,
- Refactoring in GenX,
- Removed a power-of-two lookup table,
- Removed OpSource language check assert,
- Renamed function attribute "IndirectlyCalled" to "referenced-indirectly" to match SPIRV FE,
- Separate CMake utilities from main IGC list,
- Speed up GenXLiveness analysis,
- Support for Nontemporal MemoryAccess in SPIRVReader,
- Support import/export SPIRV linkage for indirect calls.
- Support legacy IR without constant addrspace for printf,
- Support prinf with args in GenXPrintfResolution,
- Update copyright headers,
- Use std::decay instead of custom functor in Frontend.h,
- Other minor fixes and improvements.
Dependencies revisions
- intel/opencl-clang@c8cd72e
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@6713229
- KhronosGroup/SPIRV-LLVM-Translator@9d8d032 (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.