Fixed Issues / Improvements
- Rename enableSimd32 variable to reflect the usage.
- Add Frame-Pointer support to stack calls.
- Add support for explicit split coalescing in LRA.
- replace assert to error for not supported llvm version in Scalar.h.
- ZEBinWriter: Fix standalone build and add test option.
- Add missing fence before EOT W/A when a kernel only has typed writes.
- Flag to override the value imposed on the kernel by CL_DEVICE_MAX_PARAMETER_SIZE.
- Fix select handling in ResolveGAS.
- Generating bindless access for image.
- Allow alignment improvement for all cases except stateful accesses, in which the base of stateful surface could be as little as DW, thus we can assume align 4 on stateful messages.
- Fix spilled variable offset alignment when scratch space compression is enabled.
- fix the SWSB globalt token allocation bug.
- avoid dst and src overlap when they are using same variable.
- Added support for DG1 platform.
- Fix the acc number of channels value in SubPair method.
- VISA R0 variable name for easier debugging.
- Support ForceBestSIMD on pixel shaders.
- DWARF debugger location expressions fixes.
- Adding new CustomSafeOpt pattern for Ldrawvector.
- Add missing set in CMakeLists.
- Disable implicit args for functions called from indirect functions.
- Adding needed out of bounds check for constant coalescing.
- Reduce the even align to improve BCR.
- Fix a bug in variable split. Fix condition for right bound check in split verification pass.
- Fix the loop info in SWSB.
- Relax condition in Simd32Profitability.
- Disable LRA when split changes IR. Fix coalescing in color assignment to make it work with preRA scheduled code. Add more conditions in split verification.
- Check string types after int/float/vec types since we can distinguish between those based only on their type.
- Prevent rematerialization of relocation mov.
- Adjust TPM size for CM.
- Wrap methods related to indirect calls.
- Move variable split pass invocation to Optimizer before pre-RA scheduler. Add verification step to check assignment overlap.
- Limit the INT64 HW support. Fix the acc number of channels value.
- Remove alwaysinline attribute for function calls with aggregate and GAS pointer arguments. Support stack calls for struct type and GAS pointer args.
- Removed asserts that can actually trigger currently. For example:
- Fix condition to guarantee 'IfBB' is non-null below.
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.