github intel/intel-graphics-compiler igc-1.0.4312

latest releases: igc-1.0.15610.11, igc-1.0.15770.10, igc-1.0.15770.9...
3 years ago

Fixed Issues / Improvements

  • Removed implicit arg support in stack calls. Implicit arguments cannot be explicitly passed to stack called functions as function arguments. Support for implicit arg usage inside stack called functions will be detailed in future calling convention specifications.
  • Removed support for handling struct return values in IGC BE. Following SPIR-V call conventions, all struct arguments and return values are converted to pass-by-pointer arguments. This removes the need for BE to support functions returning struct values, as IGC FE should convert all struct types to pass-by-pointer.
  • Removed stack return support in VISA codegen. All return values that requires return on stack should be converted to pass-by-pointer argument in FE.
  • Removed unneeded assert in PeepholeTypeLegalizer. The function does a bitcast cleanup but just falls through to the default for many cases where the 'prevInst' is a legal type.
  • Removed unused file HWCapsOpen.inc
  • Removed some unused passes.
  • Refactored code for stateless buffer loads promotion.
  • Refactored code for SLM int64 atomics builtins.
  • Refactored vISA verification. Add checks for undefined/multiple-defined labels in vISA assembly.
  • Refactored for function alwaysinline attribute. Allows testing subroutines/stack-calls/indirect-calls without causing performance issues in default mode.
  • Refactored typed read/write emitters.
  • Refactor MDLocation to use the new Metadata class.
  • Implemented lowering of umul_with_overflow and smul_with_overflow intrinsics.
  • Added hw_preemption_mode to ZEInfo.
  • Added the HWORD, 32WORD and 64WORD support.
  • Added a metadata framework to vISA. First use is to tag comments to a Gen instruction.
  • Added comments and annotations to our shader dumps for IGC Intrinsics.
  • Added default initializers to kernel info and fixed visa option.
  • Added new instruction splitting pass for instructions that touch more than 2 GRFs.
  • Combine bindless support for buffers and images. A new internal flag is introduced (-cl-intel-use-bindless-mode). A new field is introduced tp pass the bindless info to NEO.
  • Introduction of new intrinsics to handle saturation modifier for some operations.
  • Changes to denseMatrixLimit heuristic.
  • Changed OverrideOCLMaxParamSize type from bool to DWORD.
  • Replace G4_BB::insert() wth G4_BB::insertBefore() and G4_BB::insertAfter(). These functions attach debug info to instruction being inserted.
  • Changing bb->getInstList() to BB's wrapper when possible.
  • Various fixes for vISA inline assembly. Making sure the operands refer to the correct vISA variable name. Also update error reporting.
  • Support variable argument list in IGC_ASSERT
  • IGC_ASSERT introduced to IGC/AdaptorCommon and IGC/GenISAIntrinsics.
  • Improvements to GRF alignment check.
  • Update SInstrTypes - gather information about wave instrinsics.
  • Updated ICBE_VERSION
  • DWARF debugger location expressions fixes.
  • Fix a typo for the type of SLM int64 smin/smax atomics.
  • Fixing defect when given very long vISA variable names strncpy_s requires dstsz to be strictly less than count to copy.
  • Fixed the bug of dependence reduction in the old toke allocation algorithm.
  • Fix for stack-call fill.
  • DWARF debugger location expressions fixes.
  • Stack call with spill fix.
  • Aborting compilation if inline asm parsing fails.
  • Handle 16-byte alignment correct for trivial and local RA.
  • Handle G4_AddrExp in evenlySplitInst() correctly.
  • Force retry if LICM pass may cause high spill in CS.
  • Avoiding read-modify-write for spills on NoMask sends.
  • Calculated HWTID mask dependent on HW gen: 0x1FF for Pre-Gen9 0x3FF for Gen10+
  • Finish further instruction processing after PHI instruction lowering.
  • Other minor bug fixes, refactors and small improvements.

Ubuntu 18.04 binary packages for LLVM10/Clang10 are included.

Don't miss a new intel-graphics-compiler release

NewReleases is sending notifications on new releases.