Beignet is an open-source OpenCL implementation for Intel graphics cores on Linux.
- GBE: optimize phi elimination
Ruiling Song: This is special optimization for below situation:
bb2: x = phi [x1, bb1], [x2, bb2] x2 = x+1; after de-ssa: bb2: mov x, x-copy add x2, x, 1 mov x-copy, x2 obviously x2, x-copy and x2 can be mapped to same virtual register.
v2: only coaleasce if the source register comes from insn def.
- Backend: Add half support for CHV and SKL.
- runtime: Add cl device's standalone extension
Junyan He: The cl device may have different extensions from the platform.
- enable CL_UNSIGNED_INT8 for CL_RG to fix regression
Guo Yejun: the regression is caused when only enable CL_UNORM_INT8 for CL_RG, the reason is that during the image copy implementation with internal kernel, all formats are considerd as integer format, it becomes unknown since CL_UNSIGNED_INT8 is not enabled yet.
- reimplement structurize algorithm
Luo Xionghu: serial, loop and if pattern match from top to down.