Fixed Issues / Improvements
- Removed splitVariables pass as it should be subsumed by the split4GRFVars pass.
- When stack is used, make sure the spill/fill temp is at least one GRF.
- Fixed offset calculation for indirect function calls.
- Added optimization stats.
- Aligned caller-save and callee-save frame offset to 64 byte.
- Moved updateDebugLoc() function into help.hpp to avoid static definition of this function in several .cpp files.
- Fixed non-uniform calls with return on stack.
- Added vISA verifier check for input that straddles GRF boundary.
- Refactored hard-coding register size in a few legalization checks.
- Removed indentation from namespaces blocks.
- Removed m_ShaderMode from PS codegen, as its base already has it.
- Renamed m_ShaderMode -> m_ShaderDisdpatchMode in visa emitter.
- Use int copy instead of float copy during spill code generation.
- vISA syntax enables more identifiers (VAR), which used to be lexical keywords such as "byte", "word"
- Fix WaDisableSendSrcDstOverlap() for instructions in divergent control flow.
- Fix -timestats issue so VISA SPILL is not counted twice.
- Updated IGA.
- Unpaired Op and Subfunction. Now there are Op::MATH and subfunction MathFC::INV, instead of Op::MATH_INV.
- Enabled color syntax in terminal output of IGAExe.
- Improvements to diagnostics in parser.
- Moved some OpSpec methods to cpp file to make header interface clearer.
- Old ld/st syntax removed.
- Changes to vISA IGA adapter to use new IR.
- Other vISA IGA adapter refactoring and improvements.
- Fixed file path in .asm dumps (missing slash between directory and file).
- Fixed a leak from CreateSystemThreadKernel.
- Added capturing some statistics: loop count, send instruction count, spill/fill operation count and estimated cycle count regardless of dump settings.
- Added fix in variable split to detect multiple definitions correctly.
- Fixed gtpin header with explicit padding.
- Removeed alignment requirement for definitions in non-divergent BBs.
- Refactored GenIntrinsics to include comments in files and remove old csv comment file.
- Dst/src overlap bug fix.
- Dumping SPIRV files in clLinkProgram scenario.
- Emit top line number instead of zero.
Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.