Fixed Issues / Improvements
- Added a key to dump out WIA information into a unique file per each function invocation,
- Added comments for stack callee function prolog to assist debugging,
- Added indirect regioning restrictions,
- Added ld cases for texture folding,
- Added legalization checks for VxH regions for int-to-fp moves,
- Added localization of live ranges to reduce accumulator usages,
- Added shader dump for spec constants,
- Added support for a new pattern in
PushAnalysis::IsStatelessCBLoad()
to detect, - Added VISA option -dumpintf to dump RA interference graph,
- Added more passes to igc_opt,
- Added reporting warnings inside IGC passes,
- Added handles to plane coefficients,
- Added reg keys for scheduled BB range in local scheduler,
- Added additional DP emulation mode,
- Allow coalescing of spill/fill in presence of stack calls,
- Allow remat even for operations using NoMaskWA,
- Appling renaming to linear scan RA spill/fill,
- Change memory semantics to relaxed for OpenCL 1.x atomics,
- Decouple VC debug options to allow emission of debug infromation without debuggable kernels,
- Emit warning about an unsupported debuggability if ZeBin is requested,
- Enabled Wa16012061344 for read suppresion issue caused by predictor,
- Enhancements in compiler output,
- Extended FCL dumps with CMFE options and inputs,
- Favoring the llvm::BasicBlock name for vISA labels,
- Fixed build break in Fedora,
- Fixed emission of debug information for implicit variable locations,
- Fixed erroneous size calculation for DW_OP_bit_piece,
- Fixes for media height support in Cisa Builder,
- Fixes for PosDep MatchMad condition,
- Fixed logic when LLVM name is the empty string,
- Fixed missing barrier when inline ASM is used in a kernel,
- Fixed non-deterministic Function->VisaModule lookup,
- Fixed PushAnalysis to not create unaligned 64bit runtime value arguments,
- Fixed the hybrid RA with spill,
- Fixed the linear scan RA time status,
- Fixed issue for multiple thread compilation of shaders,
- Fixed GEP scalarized indexes calculation in CG_LowerGEPForPrivMem pass,
- For optnone builtins, allow IGC to determine inline/noinline and stackcall/subroutine calls,
- GenISA ibfe/ubfe constant literal offset may exceed 31,
- Implemented by value argument linearization,
- Implemented IGC_ASSERT in IGC/OCLFE,
- Improved DebugInfo robustness by implementing naive error-handling,
- Lifted 4K predicate variable restriction on vISA assembly,
- Made LinearScan default in ForceFastestSIMD,
- Misc. initial edits to the file parsing code in the global scope,
- Moving BiF parsing tools to a separate file,
- Renamed some VC options to have "-vc" prefix instead of "-genx",
- Reworked setPredicateForDiscard() to not use a temporary register for flag storage,
- Select phi input in non-overlapping region,
- Support for function pointer builtins/intrinsics,
- Support for Function pointer SIMD Variants,
- Support for uniformly typed read,
- Unify conditions for llvm::JumpThreading usage,
- Updated copyright headers,
- Updated DPEmu,
- Updated the indirect call info check in SWSB,
- VC: backend can lower lzd64,
- VC: debug info fixes for non-standalone kernels,
- VC: legacy messages legalization to vc-codegen,
- vISA: add helper function for calla check,
- vISA: add HWConformity::fixCalla for HW restriction,
- Simplifying ldrawvector to ldrawindex when we have a case where only one element is being used and we know the offset is a constant integer value,
- Other minor fixes and improvements.
Dependencies revisions
- intel/opencl-clang@c8cd72e
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@7ee152a
- KhronosGroup/SPIRV-LLVM-Translator@ab5e12a (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.