Fixed Issues / Improvements
- Create FunctionCloningThreshold flag to limit the number of times functions can be cloned.
- Fixed small typo from LegalizeFunctionSignatures pass.
- Support vector of pointers bitcasts in GenXPromoteArray.
- Add a key EnableVISADCE to control visa DCE.
- Add registry key control to total GRF number
- Remove deprecated code from label creation routines in VC backend.
- Introduce vector combiner pass.
- Support more vector instructions in InstRebuilder.
- LLVM11 upgrade oriented fixes.
- IGA: Add XEHP platform.
- Allowing to combine canonicalization and saturation Considering mix mode operations for flushing denorms to zero.
- implement proper error reporting for the case when VC platform selector could not determine target platform.
- Add check during parsing clang tool version.
- Optimize mergeScalar pass to benefit more cases.
- Improving reporting for CISA builder creation error
- Set DispatchGPGPUWalkerAlongYFirst default to 1.
- Avoid dst/src overlap for indirect access operand.
- For mergeLoad, make sure to sort mergable loads first so that we will merge as large as possible.
- Fixup lowering of boolean shufflevector for pseudoscalar case in VC.
- Embed debug info in zebin.
- Avoid producing 'rndz' instruction operating on double.
- Disable unsafe math for builtin fp64 math functions.
- Fix memory overwriting in TPM
- Support for SPV_INTEL_token type in IGC SPIRV Consumer.
- Move addLoop API to LoopDetection class.
- Added GTPIN_XEHP_CORE enum value.
- Fixup DG1 platform selector for VC.
- Enable merging of non-uniform stateful UBO loads by default.
- Finalize DG1 open sourcing for VC backend
- Assert InstToRebuild structure validity.
- Disallow remat to optimize mov inserted by aligned scalar split pass.
- Check in LVN whether def covers full use.
- Remove superfluous assert in RectListOptimizationPass.
- ZEBinary: move global/const symbols to program scoped IR
- Update constant coalescing pass to merge non-uniform loads when promotion to sampler is disabled.
- Improving reporting for CISA errors
- Add missing debug line info in FixAddrSpaceCast pass case 1
- Fix the global token assignment algorithm to consider the src token
- updated copyright headers in IGC/VectorCompiler
- vISA BinaryEncodingIGA: Clear send EOT bit in ExDesc only on Xe+
- Type Legalization issue with resolving PhiNode Value
- take proper lldELF for custom prebuilds
- After skipping DCE output variables, re-enable DCE. (this is the 3rd try.)
- Enable strict internal options parser in vc
- Implement support for both SPV-IR forms of vstore builtins
- Implicit support for both SPV-IR forms of OpGroupAsyncCopy and OpGroupWaitEvent
- If a var is output, it cannot be DCE'ed
- Enable omission of private/local address space checks for generic pointer load/store.
- Fix the issue of linear scan RA in case empty liveness.
- Enable lldELF usage.
- GenXLowering handle llvm gather and scatter llvm masked load and store.
- Add missing intrinsics to WIAnalysis
- Ignore scalar api options in vc option parser
- Fix dwarf column info option description
- Add IGC options to option parser
- VC should be able to calculate 32-bit constant subregion from a 64-bit one
- Register demotion after function vectorization. This makes vectorization easier, but we need to handle phi properly.
- Include the ElfPackager in compilations.
- Avoid dynamic generic pointer resolution branches if possible.
- Fix HandleLoadStoreInstruction emit wrong IR
- Updates code responsible for finding common base and offset for buffer loads. Detect
or+add
pattern. - Remove symbol table duplication in VC.
- Reduce the number of non-uniform loads produced by constant coalescing.
- Correctly handle a barrier with both global and local memory fence semantics.
- Enable EmitDebugLoc reg key by default. Reduce threshold to coalesce to avoid false positive.
Dependencies revisions
- intel/opencl-clang@c8cd72e
- KhronosGroup/SPIRV-LLVM-Translator@424e375 (for opencl-clang)
- intel/vc-intrinsics@069ced1
- KhronosGroup/SPIRV-LLVM-Translator@9d8d032 (for VectorCompiler)
- llvm/llvm-project@llvmorg-10.0.0
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.